1부 기초와 핵심 알고리즘
1장 알고리즘 기초
1.1 알고리즘 정의하기
__1.1.1 알고리즘의 단계
1.2 알고리즘의 로직 표현하기
__1.2.1 의사코드 이해하기
__1.2.2 스니펫 사용하기
__1.2.3 실행 계획 생성하기
1.3 파이썬 패키지 살펴보기
__1.3.1 파이썬 패키지
__1.3.2 주피터 노트북으로 파이썬 사용하기
1.4 알고리즘 설계 기법 이해하기
__1.4.1 데이터 차원
__1.4.2 연산 차원
1.5 성능 분석하기
__1.5.1 공간 복잡도 분석
__1.5.2 시간 복잡도 분석
__1.5.3 성능 추정
__1.5.4 알고리즘 선택
__1.5.5 빅오 표기법
1.6 알고리즘 검증하기
__1.6.1 결정론적, 비결정론적 알고리즘과 최적, 근사 알고리즘
__1.6.2 해석 가능성
1.7 요약
2장 알고리즘에 사용되는 자료 구조
2.1 파이썬 자료 구조 파악하기
__2.1.1 리스트
__2.1.2 튜플
__2.1.3 딕셔너리
__2.1.4 세트
__2.1.5 데이터프레임
__2.1.6 행렬
2.2 추상화 자료 유형 파악하기
__2.2.1 벡터
__2.2.2 스택
__2.2.3 큐
__2.2.4 스택과 큐에 대한 기본 아이디어
__2.2.5 트리
2.3 요약
3장 정렬과 검색 알고리즘
3.1 정렬 알고리즘 이해하기
__3.1.1 파이썬에서 변수 바꾸기
__3.1.2 버블 정렬
__3.1.3 삽입 정렬
__3.1.4 병합 정렬
__3.1.5 셸 정렬
__3.1.6 선택 정렬
3.2 검색 알고리즘 이해하기
__3.2.1 선형 검색
__3.2.2 이진 검색
__3.2.3 보간 검색
3.3 활용 사례 - 이민관리청에 접수된 서류 조회하기
3.4 요약
4장 알고리즘 설계
4.1 알고리즘 설계의 기본 개념 살펴보기
__4.1.1 관점 1 - 설
알고리즘은 과학 이론과 프로그래밍에서 언제나 중요한 역할을 수행해 왔습니다. 이 책은 실생활의 문제를 해결할 수 있는 여러 알고리즘을 활용하는 방법을 다룹니다. 알고리즘을 100% 활용하려면 그 논리와 수학적 기반을 깊이 이해해야 합니다. 이 책은 알고리즘과 여러 알고리즘 설계 기법을 소개하면서 시작합니다. 그러고 나서 선형 계획법, 페이지랭크, 그래프 등을 소개하고, 머신러닝 알고리즘을 뒷받침하는 수학과 논리에 대해서도 배울 것입니다. 또한, 날씨 예측, 트윗 클러스터링, 영화 추천 엔진 등 알고리즘을 어떻게 활용하는지 보여줄 사례도 포함하고 있습니다. 이 책을 끝내고 나면 여러분은 실생활 연산 문제의 알고리즘을 해결할 수 있는 자신감을 얻게 될 것입니다.
이 책은 프로그래머를 위해 쓰였습니다. 이 책은 알고리즘을 구성하는 수학에 대해 더 깊이 이해하고 싶은 숙련된 프로그래머나 이제 막 프로그래밍과 데이터 과학을 공부하려는 초보자에게 유용한 지식을 제공합니다. 데이터 과학에 대한 지식은 없어도 되지만 파이썬 프로그래밍 경험은 필수입니다.
- <들어가며> 중에서