CHAPTER 1 작은 문제
1.1 피보나치 수열
1.2 압축 알고리즘
1.3 깨지지 않는 암호화
1.4 파이 계산하기
1.5 하노이탑
1.6 적용사례
1.7 연습문제
CHAPTER 2 검색 문제
2.1 DNA 검색
2.2 미로 찾기
2.3 선교사와 식인종 문제
2.4 적용사례
2.5 연습문제
CHAPTER 3 제약 충족 문제
3.1 제약 충족 문제 프레임워크 구현하기
3.2 호주 지도 색칠 문제
3.3 여덟 퀸 문제
3.4 단어 검색
3.5 SEND+MORE=MONEY
3.6 회로판 레이아웃
3.7 적용사례
3.8 연습문제
CHAPTER 4 그래프 문제
4.1 지도와 그래프
4.2 그래프 프레임워크 구축
4.3 최단 경로 찾기
4.4 네트워크 구축 비용 최소화
4.5 가중치 그래프에서 최단 경로 찾기
4.6 적용사례
4.7 연습문제
CHAPTER 5 유전 알고리즘
5.1 생물학적 배경
5.2 제네릭 유전 알고리즘
5.3 간단한 방정식
5.4 SEND+MORE=MONEY 다시 보기
5.5 최적화 리스트 압축
5.6 유전 알고리즘에 대한 도전
5.7 적용사례
5.8 연습문제
CHAPTER 6 k-평균 군집화
6.1 준비 운동
6.2 k-평균 군집화 알고리즘
6.3 나이와 경도에 따른 주지사 군집화
6.4 마이클 잭슨 앨범 음원 길이 군집화
6.5 k-평균 군집화 문제와 확장
6.6 적용사례
6.7 연습문제
CHAPTER 7 신경망 문제
7.1 생물학 기초
7.2 인공 신경망
7.3 구현 준비
7.4 신경망 구축
7.5 분류 문제
7.6 신경망의 속도 향상
7.7 신경망 문제와 확장
7.8 적용사례
7.9 연습문제
CHAPTER 8 적대적 탐색
8.1 보드게임 구성 요소
8.2 틱택토
8.3 커넥트포
8.4 알파-베타 가지치기를 넘어서
8.5 적용사례
8.6 연습문제
CHAPTER 9 기타 문제
9.1 배낭 문제
9.
각종 고전 문제를 풀며 알고리즘 자신감 뿜뿜
어떤 이는 망원경(도구과 천문학(학문으로 컴퓨터와 컴퓨터 과학을 비유한다. 그렇다면 프로그래밍 언어는 망원경 렌즈와 같을 것이다. 어쨌든 ‘고전 컴퓨터 알고리즘 문제’라는 용어는 ‘컴퓨터 과학 학부 교육 과정에서 다루는 일반적인 프로그래밍 문제’를 의미하고, 여기에 알고리즘은 개발자의 기본 소양이다.
이 책은 몇 줄의 코드로 해결할 수 있는 작은 문제부터 여러 장에 걸쳐 시스템을 구축하는 복잡한 문제까지 다양하게 구성했다. 일부 문제는 상식만으로 해결하고, 일부는 인공지능이 필요할 수 있다. 풀이 과정을 그린 그림으로 이해를 돕고, 예제에 대해 파이써닉한 코드를 함께 수록했다. 개발자가 꼭 알아야 할 알고리즘들의 핵심을 짚어보고 이를 이용해 다양한 예제를 학습한다. 장마다 문제 해결 능력을 향상할 수 있는 연습문제도 제공한다.
주요 내용
● 검색 알고리즘
● 유전 알고리즘
● 제약 충족 문제
● 적대적 탐색
● 그래프 이론
● k-평균 군집화
● 신경망 문제