『코딩 인터뷰 퀘스천』은 코딩 인터뷰(CODING INTERVIEW)를 준비하는 사람들을 위해 문제 모음과 이에 대한 전략적인 해결 방법을 소개하는 트레이닝 가이드북입니다. 프로그래밍 기초 개념부터 시작해 복잡도 표기법과 성장률 등등의 알고리즘의 기초 개념, 그리고 스택과 큐, 연결 리스트, 트리와 힙, 그래프에서부터 정렬과 선택, 분할 정복, 동적 계획법 까지 자료구조와 알고리즘 분야에서 자주 출제되거나 질문으로 물어보는 문제들을 소개하면서 이에 대한 해결 방법들도 자세하게 다루고 있습니다.
Chapter 01. 프로그래밍 기초
1.1 변수(Variables)
1.2 자료형(Data Types)
1.3 자료 구조(Data Structure)
1.4 추상 자료형(Abstract Data Types - ADTs)
1.5 메모리와 변수 (Memory and Variables)
1.6 포인터(Pointers)
1.7 파라미터 전달 기법(Parameter Passing Techniques)
1.8 바인딩(Binding)
1.9 스코프(Scope)
1.10 기억 영역 분류(Storage Classes)
1.11 기억 영역의 구성(Storage Organization)
1.12 프로그래밍 테크닉
1.13 프로그래밍 기초 문제
Chapter 02. INTRODUCTION
2.1 알고리즘이란 무엇인가?
2.2 왜 알고리즘 분석인가?
2.3 알고리즘 분석의 목표
2.4 실행 시간 분석(Running Time Analysis)이란 무엇인가?
2.5 어떻게 알고리즘을 비교하는가?
2.6 성장률(Rate of Growth)이란 무엇인가?
2.7 일반적으로 사용되는 성장률
2.8 분석 유형
2.9 점근적 표기(Asymptotic Notation)
2.10 Big-O 표기법(Big-O Notation)
2.11 Omega-Ω (빅오메가) 표기법
2.12 Theta-θ(빅세타) 표기법
2.13 왜 점근 분석(Asymptotic Analysis)이라고 불리는가?
2.14 점근 분석(Asymptotic Analysis) 지침
2.15 표기법의 속성(Properties of Notation)
2.16 흔히 사용되는 로그와 합산
2.17 분할 정복(Divide and Conquer)에 대한 마스터 정리(Master Theorem)
2.18 감산 정복 반복(Subtract and Conquer Recurrences)에 대한 마스터 정리
2.19 감산 정복(Subtract and Conquer) 마스터 정리의 변형
2.20 알고리즘 분석 문제
Chapter 03. 재귀와 역추적
3.1 소개
3.2 재귀(Recursion)란 무엇인가?
3.3 왜 재귀 방식인가?
3.4 재귀 함수의 형식
3.5 재귀와 메모리(Visualization)
3.6 재귀 vs 반복
3.7 재귀 방식에 대한 참고사항
3.8 재귀 알고리즘의 예
3....(하략)