서문이 책을 보는 방법이 책의 구성이 책의 구성 요소학습 로드맵01 들어가며1.1. 이 책에서 다루는 알고리즘1.2. 알고리즘의 성능 평가 1.2.1 시간 복잡도 1.2.2 점근적 표기: 빅-오 표기법 1.2.3 점근적 표기의 다른 방법들 02 정렬 알고리즘2.1. 정렬의 개념 2.2. 정렬 알고리즘의 종류 2.3. 선택 정렬 2.3.1 선택 정렬의 과정 2.3.2 선택 정렬의 구현 2.3.3 선택 정렬의 특성 2.4. 퀵 정렬 2.4.1 퀵 정렬의 과정 2.4.2 퀵 정렬의 구현 2.4.3 퀵 정렬의 특성 2.5. 병합 정렬 2.5.1 병합 정렬의 과정 2.5.2 병합 정렬의 구현 2.5.3 병합 정렬의 특성 2.6. 연습 문제 03 해시3.1. 해시의 개념 3.1.1 해시 함수 3.1.2 해시 검색 3.1.3 해시 검색의 과정 3.2. 해시 함수 3.2.1 나머지(제산: Division) 함수3.2.2 접기(접지: Folding) 함수 3.2.3 중간 제곱 함수(Mid-square function) 3.2.4 숫자 분석 기반의 해시 함수 3.3. 첫 번째 충돌 해결 방법: 개방 주소법 3.3.1 선형 조사법 3.3.2 제곱 조사법 3.3.3 이중 해시 3.4. 해시 테이블의 추상 자료형 3.5. 해시 검색의 첫 번째 구현: 개방 주소법 사용 3.5.1 해시 테이블의 생성 3.5.2 자료 추가 3.5.3 자료 검색3.5.4 자료 제거 3.5.5 기타 3.6. 두 번째 충돌 해결 방법: 체이닝 3.7. 해시 테이블의 두 번째 구현: 체이닝 사용 3.7.1 해시 테이블의 생성 3.7.2 자료 추가 3.7.3 자료 검색 3.7.4 자료 제거 3.8. 해시 검색의 성능 분석 3.8.1 키 값 밀도 3.8.2 적재 밀도 3.9. 연습 문제 04 균형 검색 트리4.1. 이진 검색 트리 4.2. 다원 검색 트리 4.3. B-트리 4.4. B-트리의 연산 4.4.1 B-트리에서의 자료 추가 4.4.2 B-트리에서의 자료 제거 4.4.3 예제: 자료 추가 및 제거 4.5. B-트리의 구현 4.5.1 B-트리 생성 4.5.2 검색 연산 4.5.3 자료 추가 4.5.4 자료 제거 4.5.5 기타 4.6. 간단한 형태의 B-트리 4.6.1 2-3 트리4.6.2 2-3-4 트리 4.7. B-트리의 변형 4.7.1 B+트리 4.7.2 B*트리 4.8. 연습 문제 05 그래프5.1. 그래프 자료구조 5.2. 최단 경로 구하기 5.2.1. 하나의 시작점에서 구하기: Dijkstra(다이크스트라) 알고리즘 5.2.2 모든 시작점에서 경로 구하기: Floyd(플로이드) 알고리즘 5.2.3 도달 가능성 구하기 5.3. 최소 비용 신장 트리 5.3.1 신장 트리란? 5.3.2 최소 비용 신장 트리란? 5.3.3 크루스칼(Kruskal) 알고리즘 5.3.4 프림(Prim) 알고리즘 5.4 연습 문제06 탐욕 알고리즘6.1. 탐욕 알고리즘의 개념 6.2. 동전 거스름돈 문제 6.2.1 탐욕 알고리즘의 적용 6.2.2 탐욕 알고리즘의 구현 6.3. 부분 배낭 문제 6.3.1 탐욕 알고리즘의 적용 6.3.2 탐욕 알고리즘의 구현 6.4. 허프만 코딩 6.4.1 탐욕 알고리즘의 적용 6.4.2 탐욕 알고리즘의 구현 6.5. 연습 문제 07 분할 정복 알고리즘7.1. 이진 검색을 통해 알아보는 분할 정복 알고리즘 7.2. 팩토리얼 문제 7.3. 가장 가까운 두 점 찾기 문제 7.3.1 분할 정복 알고리즘의 적용 7.3.2 분할 정복 알고리즘의 구현 7.4. 연쇄 행렬 곱셈 문제 7.4.1 연쇄 행렬 곱셈 문제란? 7.4.2 분할 정복 알고리즘의 적용: 행렬이 4개인 경우 7.4.3 일반적인 경우에 분할 정복 알고리즘의 적용 7.4.4 분할 정복 알고리즘의 구현 7.5 연습 문제08 동적 계획법8.1. 피보나치 수열로 알아보는 동적 계획법 8.2. 동전 거스름돈 문제8.2.1 분할 정복법의 적용과 구현 8.2.2 동적 계획법의 적용 8.2.3 동적 계획법의 구현 8.3. 0-1 배낭 문제 8.3.1 분할 정복법의 적용과 구현 8.3.2 동적 계획법의 적용 8.3.3 동적 계획법의 구현 8.4. 편집 거리 문제 8.4.1 분할 정복법의 적용과 구현 8.4.2 동적 계획법의 적용 8.4.3 동적 계획법의 구현 8.5 연습 문제09 백트래킹 알고리즘9.1. 외판원 문제 9.1.1 백트래킹의 적용 9.1.2 백트래킹의 구현 9.2. 8퀸 문제 9.2.1 백트래킹의 적용 9.2.2 백트래킹의 구현 9.3. 미로 문제 9.3.1 백트래킹의 적용9.3.2 백트래킹의 구현 9.4 연습 문제연습문제 정답찾아보기