|
1부 코딩 인터뷰를 위한 기본 개념 익히기
1장 알고리즘 분석 _1.1 점근적 분석 _1.2 알고리즘 복잡도 분석 _1.3 시간 복잡도 예제 _1.4 마스터 정리 _1.5 배열 기반 문제 _1.6 재귀 함수 2장 알고리즘 문제를 풀기 위한 접근법 _2.1 제약 조건 분석 _2.2 아이디어 구상 _2.3 복잡도 계산 _2.4 코딩 _2.5 테스트 _2.6 코딩 인터뷰 예시 _2.7 정리 3장 추상 자료형과 자료 구조 _3.1 추상 자료형 _3.2 자료 구조 _3.3 배열 _3.4 연결 리스트 _3.5 스택 _3.6 큐 _3.7 트리 _3.8 힙 _3.9 해시 테이블 _3.10 딕셔너리와 심볼 테이블 _3.11 그래프 _3.12 정렬 _3.13 정리 4장 정렬 _4.1 정렬 유형 _4.2 정렬 알고리즘 비교 _4.3 정렬 문제 5장 검색 _5.1 왜 검색일까 _5.2 검색 알고리즘의 종류 _5.3 검색 문제 2부 자료 구조 6장 연결 리스트 _6.1 연결 리스트의 기본 _6.2 연결 리스트의 종류 _6.3 연결 리스트 문제 7장 스택 _7.1 스택의 추상 자료형 _7.2 시스템 스택과 함수 호출 _7.3 배열로 스택 구현하기 _7.4 연결 리스트로 스택 구현하기 _7.5 스택 문제 8장 큐 _8.1 큐의 추상 자료형 _8.2 배열로 큐 구현하기 _8.3 연결 리스트로 큐 구현하기 _8.4 큐 문제 9장 트리 _9.1 트리의 기본 _9.2 이진 트리 _9.3 이진 트리의 유형 _9.4 이진 트리 문제 _9.5 이진 탐색 트리 _9.6 이진 탐색 트리 문제 _9.7 이진 트리의 확장 10장 힙 _10.1 힙의 유형 _10.2 힙의 추상 자료형 연산 _10.3 힙 연산 _10.4 힙 정렬하기 _10.5 힙을 사용하는 곳 _10.6 힙 문제 11장 해시 테이블 _11.1 해시 테이블 _11.2 충돌 해결 기법 _11.3 해싱 문제 12장 그래프 _12.1 그래프 용어 _12.2 그래프 구현 방법 _12.3 그래프 순회 _12.4 그래프 문제 3부 고급 알고리즘 13장 문자열 알고리즘 _13.1 문자열 일치 _13.2 심볼 테이블과 딕셔너리 _13.3 문자열 문제 14장 알고리즘 설계 기법 _14.1 무차별 대입 알고리즘 _14.2 탐욕 알고리즘 _14.3 분할 정복과 부분 정복 _14.4 동적 계획법 _14.5 변환 정복 _14.6 백트래킹 _14.7 분기 한정 _14.8 A* 알고리즘 _14.9 정리 15장 무차별 대입 알고리즘 _15.1 버블 정렬 _15.2 선택 정렬 _15.3 순차 검색 _15.4 pow(a, n) 계산하기 _15.5 문자열 일치 _15.6 가장 가까운 두 점의 무차별 대입 알고리즘 _15.7 볼록 껍질 문제 _15.8 완전 탐색 _15.9 정리 16장 탐욕 알고리즘 _16.1 동전 교환 문제 _16.2 최소 신장 트리 _16.3 단일 출발 최단 경로의 데이크스트라 알고리즘 _16.4 최적 인코딩을 위한 허프만 트리 _16.5 작업 선택 문제 _16.6 배낭 문제 17장 분할 정복과 부분 정복 _17.1 일반 분할 정복의 반복 _17.2 병합 정렬 _17.3 퀵 정렬 _17.4 외부 정렬 _17.5 이진 검색 _17.6 제곱 함수 _17.7 볼록 껍질 _17.8 가장 가까운 두 점 18장 동적 계획법 _18.1 피보나치 수 _18.2 조립 라인 계획 _18.3 최장 증가 부분 수열 _18.4 최장 바이토닉 부분 수열 _18.5 연쇄 행렬 곱셈 _18.6 최장 공통 부분 수열 _18.7 동전 교환 문제 19장 백트래킹 _19.1 N 여왕 말 문제 _19.2 하노이의 탑 20장 복잡도 이론 _20.1 결정 문제 _20.2 복잡도 클래스 _20.3 정리 |
Hemant Jain