절대 절대 절대 6월보다 빨리나올 가능성은 없는건가요? 알고리즘은 이걸로 공부하고 싶어요…. 아무리 다시 들어와봐도 굳건하게 6월 출간예정이 변하질 않는군요..
저명한 컴퓨터공학과 교수들과 수많은 프로그래머들이 극찬한 알고리즘 분야 최고의 명저
초판 때부터 전 세계 여러 대학에서 교재로뿐만 아니라 전문가들의 표준 참고서로 활용되어 온 책의 세 번째 판이다. 매우 다양한 알고리즘을 다루면서도 상당히 심도 있게 설명하여 정밀함과 포괄성이라는 두 가지 측면을 균형 있게 만족시켜 준다. 또한 각 장이 독립적으로 완결된 형태를 갖춰 필요한 내용을 찾아 참고하기 편하고, 모든 알고리즘이 프로그래밍 경험이 있으면 누구라도 이해할 수 있는 의사코드로 작성되어 있어 이론과 실전이라는 두 마리 토끼를 함께 잡을 수 있다.
특히 개정 3판에서는 많은 변화를 통해 완성도가 한층 강화되었다. 먼저 반 엠데 보아스 트리와 멀티스레드를 다루는 장이 추가되고, 점화식이 분할정복 장으로 정비되었다. 그리고 동적 프로그래밍과 그리드 알고리즘에 개선된 방법이 추가되었고, 플로우 네트워크에도 새로운 개념이 도입되었다. 이외에도 전체 내용이 다듬어지고 갱신되었는데, 특히 연습문제와 종합문제에 더 다양한 응용 문제가 추가되었을 뿐만 아니라 이에 대한 모범답안이 웹 사이트를 통해 제공된다.
【도서 장점(개정 3판에서의 변화)】
【부/장별 내용 요약】
I 기초
개요
1장. 알고리즘의 역할
1.1 알고리즘
1.2 기술로서의 알고리즘
2장. 시작하기
2.1 삽입 정렬
2.2 알고리즘의 분석
2.3 알고리즘의 설계
3장. 함수의 증가
3.1 점근적 표기
3.2 표준 표기법과 흔히 사용되는 함수
4장. 분할정복
4.1 최대 부분배열 문제
4.2 행렬 곱셈을 위한 스트라센 알고리즘
4.3 점화식을 풀기 위한 치환법
4.4 점화식을 풀기 위한 재귀 트리 방법
4.5 점화식을 풀기 위한 마스터방법
4.6 마스터 정리의 증명
5장. 확률적 분석과 랜덤화된 알고리즘
5.1 고용 문제
5.2 지표 확률 변수
5.3 랜덤화된 알고리즘
5.4 확률적 분석과 지표 확률 변수의 기타 활용
II 정렬과 순서 통계량
개요
6장. 힙 정렬
6.1 힙
6.2 힙 특성 유지하기
6.3 힙 만들기
6.4 힙 정렬 알고리즘
6.5 우선순위 큐
7장. 퀵 정렬
7.1 퀵 정렬
7.2 퀵 정렬의 성능
7.3 랜덤화된 퀵 정렬
7.4 퀵 정렬 분석
8장. 선형 시간 정렬
8.1 정렬의 하한
8.2 계수 정렬
8.3 기수 정렬
8.4 버킷 정렬
9장. 중앙값과 순서 통계량
9.1 최솟값과 최댓값
9.2 선형적인 평균 수행시간에 선택하기
9.3 최악의 경우선형 시간에 선택하기
III 자료구조
개요
10장. 기본 자료구조
10.1 스택과 큐
10.2 연결 리스트
10.3 포인터와 객체 구현하기
10.4 루트 있는 트리 표현하기
11장. 해시 테이블
11.1 직접 주소 테이블
11.2 해시 테이블
11.3 해시 함수
11.4 개방 주소화 방법
11.5 완전 해싱
12장. 이진 검색 트리
12.1 이진 검색 트리의 개념
12.2 이진 검색 트리에 대한 질의
12.3 삽입과 삭제
12.4 임의로 만들어진 이진 검색 트리
13장. 레드블랙 트리
13.1 레드블랙 트리의 특성
13.2 회전
13.3 삽입
13.4 삭제
14장. 자료구조의 확장
14.1 동적 순서 통계량
14.2 자료구조 확장 기법
14.3 구간 트리
IV 고급 설계 및 분석 기법
개요
15장. 동적 프로그래밍
15.1 막대 자르기
15.2 행렬-체인 곱셈
15.3 동적 프로그래밍의 요소
15.4 최장 공통 부분 시퀀스
15.5 최적 이진검색 트리
16장. 그리디 알고리즘
16.1 활동 선택 문제
16.2 그리디 방법의 요소들
16.3 허프만 코드
16.4 매트로이드와 그리디 방법
16.5 매트로이드로 작업 일정짜기 문제
17장. 분할상환 분석
17.1 총계 분석
17.2 결산 방법
17.3 잠재 비용 방법
17.4 동적 테이블
V 고급 자료 구조
개요
18장. B-트리
18.1 B-트리의 개념
18.2 B-트리의 기본연산
18.3 B-트리에서 키삭제하기
19장. 피보나치 힙
19.1 피보나치 힙의 구조
19.2 병합 가능한 힙 연산
19.3 키 감소시키기와 노드 삭제하기
19.4 최대 차수의 한계 정하기
20장. 반 엠데 보아스 트리
20.1 기본 방법
20.2 재귀 구조
20.3 반 엠데 보아스트리
21장 서로 소 집합의 자료구조
21.1 서로 소 집합의 연산
21.2 서로 소 집합의 연결 리스트 표현
21.3 서로 소 집합 포리스트
21.4 경로 압축을 이용한 순위에 의한 합병의 분석
VI 그래프 알고리즘
개요
22장. 기본 그래프 알고리즘
22.1 그래프의 표현
22.2 너비 우선 검색
22.3 깊이 우선 검색
22.4 위상 정렬
22.5 강한 연결 요소
23장. 최소 신장 트리
23.1 최소 신장 트리의 확장
23.2 크루스칼 알고리즘과 프림 알고리즘
24장. 단일 출발지 최단 경로
24.1 벨만-포드 알고리즘
24.2 방향 비순환 그래프에서의 단일 출발점 최단 경로
24.3 다익스트라 알고리즘
24.4 차이 제약 조건과 최단 경로
24.5 최단 경로특성의 증명
25장. 모든 쌍의 최단 경로
25.1 최단 경로와 행렬 곱셈
25.2 플로이드-워샬 알고리즘
25.3 희소 그래프에 대한 존슨 알고리즘
26장. 최대 플로우
26.1 플로우 네트워크
26.2 포드-풀커슨 방법
26.3 최대 이분 매칭
26.4 푸시-재명명 알고리즘
26.5 재명명후-앞보내기 알고리즘
VII 알고리즘 분야의 중요한 토픽
개요
27장 멀티스레드 알고리즘
27.1 동적 멀티스레딩의 기본
27.2 멀티스레드 행렬의 곱셈
27.3 멀티스레드 병합 정렬
28장. 행렬의 연산
28.1 선형 연립방정식의 해
28.2 역행렬
28.3 양으로 정의된 대칭 행렬과 최소-제곱 근사
29장. 선형 계획법
29.1 정규형과 이완형
29.2 문제의 선형 계획법 구성
29.3 심플렉스 알고리즘
29.4 쌍대성
29.5 초기 가능한 기본해
30장. 다항식과 FFT
30.1 다항식의 표현
30.2 DFT와 FFT
30.3 효율적인 FFT의 구현
31장. 정수론 알고리즘
31.1 기초 정수론
31.2 최대공약수
31.3 모듈로 연산
31.4 모듈로 선형 방정식의 해
31.5 중국인의 나머지 정리
31.6 원소의 거듭제곱
31.7 RSA 공개키 암호 시스템
31.8 소수 판정
31.9 정수의 인수분해
32장. 스트링 매칭
32.1 단순 스트링 매칭 알고리즘
32.2 라빈-카프 알고리즘
32.3 유한 오토마타를 이용한 스트링 매칭
32.4 크누스-모리스-프랫 알고리즘
33장. 계산 기하학
33.1 선분의 특징
33.2 선분의 교차성 결정
33.3 볼록 껍질의 발견
33.4 가장 가까운 점들의 쌍 구하기
34장. NP-완비성
34.1 다항 시간
34.2 다항 시간 확인
34.3 NP-완비성과 환원 가능성
34.4 NP-완비성 증명
34.5 NP-완비 문제들
35장. 근사 알고리즘
35.1 정점 덮개 문제
35.2 순회 판매원 문제
35.3 집합 덮개 문제
35.4 랜덤화와 선형 계획법
35.5 부분 집합의 합 문제
VIII 부록 : 수학적 기초
개요
부록 A. 합
A.1 덧셈 공식과 특성
A.2 합의 한계
부록 B. 집합과 기타
B.1 집합
B.2 관계
B.3 함수
B.4 그래프
B.5 트리
부록 C. 계산과 통계
C.1 계산
C.2 확률
C.3 이산 확률 변수
C.4 기하 분포와 이항 분포
C.5 이항 분포의 꼬리
부록 D. 행렬
D.1 행렬과 행렬 연산
D.2 행렬의 기본 특성
참고문헌
찾아보기
박상현