Kirupa Chinnathambi · 2024

알고리즘 완전 초보 가이드

JavaScript로 배우는 자료구조와 알고리즘 실전 입문. 26개 장을 통해 기초부터 탄탄히 다지는 완전 초보자를 위한 가이드.

Absolute Beginner's Guide to Algorithms · 번역판

제1부

자료구조 — Data Structures

Chapter 01 자료구조 소개 적재적소의 도구 — 자료구조란 무엇이며 왜 중요한가
Chapter 02 빅오 표기법과 복잡도 분석 Big-O Notation — 시간·공간 복잡도를 읽는 법
Chapter 03 배열 Array 가장 기본적인 자료구조 — 삽입·삭제·탐색과 메모리
Chapter 04 연결 리스트 Linked List 포인터로 연결되는 노드들 — 단일·이중·원형 리스트
Chapter 05 스택 Stack 후입선출 LIFO — push와 pop의 세계
Chapter 06 큐 Queue 선입선출 FIFO — enqueue와 dequeue
Chapter 07 트리 Tree 계층적 데이터의 표현 — 노드·엣지·높이·깊이
Chapter 08 이진 트리 Binary Tree 각 노드가 최대 두 자식 — 완전·포화·완벽 트리
Chapter 09 이진 탐색 트리 BST 왼쪽은 작고 오른쪽은 크다 — 삽입·삭제·탐색
Chapter 10 힙 Heap 우선순위 큐의 기반 — 버블 업·버블 다운
Chapter 11 해시테이블 Hashtable 해시 함수와 충돌 해결 — 평균 O(1) 탐색
Chapter 12 트라이 Trie 접두사 트리 — 자동완성과 문자열 검색
Chapter 13 그래프 Graph 정점과 간선 — 인접 행렬과 인접 리스트
제2부

알고리즘 — Algorithms

Chapter 14 재귀 Recursion 소개 자기 자신을 호출하는 함수 — 기본 조건과 재귀 호출
Chapter 15 피보나치와 재귀를 넘어서 메모이제이션·반복 — O(2^n)에서 O(n)으로
Chapter 16 하노이의 탑 고전 퍼즐로 배우는 재귀적 분할 정복
Chapter 17 탐색 알고리즘과 선형 탐색 처음부터 끝까지 — Linear Search의 직관
Chapter 18 이진 탐색 반씩 줄이며 찾기 — 정렬된 데이터에서 O(log n)
Chapter 19 이진 트리 순회 전위·중위·후위·너비 우선 — 모든 노드 방문하기
Chapter 20 DFS와 BFS 깊이 우선 탐색과 너비 우선 탐색 — 그래프 탐색의 두 축
Chapter 21 퀵정렬 Quicksort 피벗으로 분할 정복 — 평균 O(n log n)
Chapter 22 버블정렬 Bubblesort 인접 요소 비교·교환 — O(n^2)의 단순함
Chapter 23 삽입정렬 Insertion Sort 카드 정리하듯 삽입 — 거의 정렬된 데이터에 강함
Chapter 24 선택정렬 Selection Sort 최소값을 찾아 앞으로 — 단순하지만 비효율적
Chapter 25 병합정렬 Mergesort 분할하고 병합하기 — 항상 O(n log n) 보장
Chapter 26 결론 지금까지의 여정을 되돌아보며 — 다음 단계로