읽는 것만으로 충분하다! 쉽고 빠르게 이해하는 알고리즘과 자료 구조!
알고리즘과 자료 구조, 이렇게 쉽게 표현하고 이해할 수 있다고?
전 세계 250만 다운로드 ‘알고리즘 도감’ 앱을 책으로 엮은 일본 아마존 스테디셀러, 개정2판!
알고리즘은 같은 목적을 달성하더라도 서로 다르다. 어떤 알고리즘은 실행 시간이 짧지만 메모리를 많이 사용하고, 어떤 알고리즘은 실행 시간이 길지만 메모리를 적게 사용한다. 다양한 알고리즘을 안다는 건 프로그램을 만들 때 선택지가 늘어난다는 의미다. 효율적인 알고리즘을 실행하기 위해서는 그에 맞는 적절한 자료 구조를 사용해야 한다. 즉, 상황에 맞게 최적의 알고리즘과 자료구조를 선택할 수 있는 능력은 좋은 프로그래머가 되기 위한 조건 중 하나다.
이 책은 ‘알고리즘 도감’이라는 애플리케이션을 기반으로 작성했다. 앱은 애니메이션을 사용해 알고리즘의 동작을 설명하는데, 이 책은 그림을 충분히 사용해 동작하는 앱만큼 알기 쉽게 만들었다. 또한 앱에는 없는 ‘알고리즘이란 무엇인가’, ‘알고리즘의 계산 시간’, ‘그래프의 기초’ 같은, 알고리즘 학습 전 알아야 하는 기본 내용을 새롭게 작성했다. 개정2판에는 1판과 앱에서 다루지 않은 ‘데이터 압축’을 추가하고 ‘최소 신장트리’, ‘매칭’ 같은 그래프 문제와 ‘문자열 매칭’을 새로 추가했다.
서장 알고리즘의 기본
0-1 알고리즘이란?
0-2 계산 시간 측정 방법
1장 데이터 구조
1-1 데이터 구조란?
1-2 리스트
1-3 배열
1-4 스택
1-5 큐
1-6 해시 테이블
1-7 힙
1-8 이진 탐색 트리
2장 정렬
2-1 정렬이란?
2-2 버블 정렬
2-3 선택 정렬
2-4 삽입 정렬
2-5 힙 정렬
2-6 병합 정렬
2-7 퀵 정렬
3장 배열 탐색
3-1 선형 탐색
3-2 이진 탐색
4장 그래프
4-1 그래프란?
4-2 너비 우선 탐색
4-3 깊이 우선 탐색
4-4 벨먼-포드 알고리즘
4-5 다익스트라 알고리즘
4-6 A*
4-7 크루스칼 알고리즘
4-8 프림 알고리즘
4-9 매칭 알고리즘
5장 보안 알고리즘
5-1 보안 알고리즘
5-2 암호의 기본
5-3 해시 함수
5-4 대칭키 암호 방식
5-5 공개키 암호 방식
5-6 하이브리드 암호 방식
5-7 디피-헬먼 키 교환법
5-8 메시지 인증 코드
5-9 디지털 서명
5-10 디지털 인증서
6장 클러스터링
6-1 클러스터링이란?
6-2 k-평균 알고리즘
7장 데이터 압축
7-1 데이터 압축과 부호화
7-2 런 렝스 부호화
7-3 유일 복호 가능 부호
7-4 순시 부호
7-5 하프만 코드
8장 그 외 알고리즘
8-1 유클리드 호제법
8-2 소수 판별법
8-3 문자열 매칭
8-4 커누스-모리스-프랫 알고리즘
8-5 페이지랭크
8-6 하노이의 탑
찾아보기
ㆍ지은이 이시다 모리테루
ㆍ지은이 미야자키 슈이치
ㆍ옮긴이 이동규
연관 프로그램
독자의견 남기기