close
더북(TheBook)
search
파이썬으로 배우는 자료 구조 핵심 원리
더북(TheBook)
home
Home
1장 재귀 함수
1.1 재귀 함수: 자신을 호출하는 신기한 함수
1.1.1 재귀 함수로 팩토리얼 구현하기
1.1.2 스택 프레임으로 재귀 함수 이해하기
1.1.3 순열을 재귀 함수로 구현하기: 재귀 트리 사용하기
2장 성능 분석
2.1 자료 구조 성능 이야기: 빅오
2.1.1 알고리즘 성능 분석
2.1.2 성능을 비교하는 방법: 빅오
2.1.3 방심은 금물!: 빅오의 함정
2.2 추상 데이터 타입이란
3장 배열: 변수가 한곳에 모여 있으면 빠르다!
3.1 동적 배열이란
3.2 지역성의 원리와 캐시
3.3 인덱싱: 데이터에 빠르게 접근한다!
3.4 동적 배열에서 데이터의 삽입과 삭제 1
3.5 동적 배열에서 데이터의 삽입과 삭제 2
4장 연결 리스트: 삽입과 삭제를 빠르게 할 수 없을까?
4.1 연결 리스트 이해하기
4.2 동적 배열과 연결 리스트
4.3 더미 이중 연결 리스트
5장 스택과 큐, 그리고 덱
5.1 스택: 데이터를 차곡차곡 쌓는다
5.1.1 스택 구현: 동적 배열을 이용하여 구현하기
5.2 큐: 데이터로 줄 세우기
5.2.1 큐 구현 1: 동적 배열을 단순하게 사용해서 구현하기
5.2.2 큐 구현 2: 원형 큐로 구현하기
5.3 덱: 스택으로도 큐로도 사용할 수 있는 덱
6장 그래프: 관련 있는 데이터 연결하기
6.1 그래프 용어 정리
6.2 그래프를 표현하는 두 가지 방법: 도시와 도시를 이어 보자
6.3 그래프의 모든 노드 방문: 모든 도시를 여행해 보자
6.3.1 너비 우선 탐색: 인근 도시부터 여행하기
6.3.2 깊이 우선 탐색: 한 방향으로 쭉 따라 여행하기
7장 트리: 정말 쓸 데가 많은 자료 구조
7.1 트리 용어 정리
7.2 이진 트리의 순회: 모든 노드 방문하기
7.2.1 전위 순회
7.2.2 중위 순회
7.2.3 후위 순회
7.2.4 레벨 순서 순회
8장 다양한 트리 1: 이진 탐색 트리
8.1 이진 탐색 알고리즘
8.2 딕셔너리의 내부 구현
8.3 이진 탐색 트리
8.4 이진 탐색 트리의 구현
8.5 이진 탐색 트리의 단점
9장 다양한 트리 2: 레드 블랙 트리
9.1 어떻게 균형을 맞출 것인가?
9.2 레드 블랙 트리
9.3 레드 블랙 트리의 구현
10장 다양한 트리 3: B 트리
10.1 메모리 계층 구조
10.2 데이터베이스에 데이터 삽입, 탐색, 삭제해 보기
10.3 B 트리
10.4 B 트리에 키 삽입·삭제하기
10.5 B+ 트리
10.6 B 트리로 인덱스 만들기
11장 다양한 트리 4: 힙과 우선순위 큐
11.1 힙
11.2 우선순위 큐
12장 다양한 그래프 알고리즘 1: 위상 정렬
12.1 위상 정렬
13장 다양한 그래프 알고리즘 2: 최소 비용 신장 트리
13.1 탐욕 알고리즘
13.2 크루스칼 알고리즘
13.2.1 그래프의 표현
13.2.2 분리 집합: 사이클이 형성되는지 어떻게 확인하지?
13.2.3 크루스칼 알고리즘 구현
13.3 프림 알고리즘
13.3.1 가중치가 가장 작은 에지를 찾는 방법
13.3.2 프림 알고리즘 구현
14장 다양한 그래프 알고리즘 3: 최단 경로
14.1 데이크스트라 알고리즘
14.2 BFS와 프림 알고리즘, 그리고 데이크스트라 알고리즘
15장 자료 구조가 적용된 실제 사례
15.1 생산자 -소비자 패턴: 큐
15.2 자바스크립트 엔진: 스택과 큐
그림 13-24에서도 사이클은 형성되지 않습니다.
▲ 그림 13-24
크루스칼 알고리즘 8
그림 13-25에서도 사이클이 형성되지 않네요.
▲ 그림 13-25
크루스칼 알고리즘 9
Prev
BUY
Next
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.
Email address