第1 章 章 算 法 法 1
11 概述 1
12 [实例] 二分查找 3
13 程序性能与算法分析 5
14 渐近记号 9
15 [技巧] 阶的快速比较* 13
16 习题 18
第2 章 章 抽 象 数 据 类 型 型 19
21 概述 19
22 [实例] 在数据集中查找给定值 20
23 数据库与数据集 25
24 功能与实现 27
25 [技巧] 组装使用 36
26 STL容器一览 38
27 设计模式 40
28 习题 43
第3 章 章 向 量 量 45
31 概述 45
32 [使用] vector 45
33 vector的简要实现 48
34 加倍技术* 54
35 [技巧] 物理存储与进制换算 56
36 [技巧] 自然数映射与下标 59
37 [实例] 矩阵的向量实现 61
38 习题 67
第4 章 章 递 归 归 71
41 概述 71
42 [技巧] 递归设计与归纳证明 72
43 递归与进程模型 75
VI 目录
44 递归算法性能分析 76
45 [实例] 排列生成器* 79
46 [实例] 乐高铺砖 84
47 习题 89
第5 章 章 栈 栈 91
51 概述 91
52 [使用] stack 92
53 stack的简要实现 94
54 [技巧] 逻辑表达式优化 97
55 [实例] 路径搜索 104
56 习题108
第6 章 章 队 列 列 109
61 概述109
62 [使用] queue 109
63 [技巧] 循环向量设计 111
64 queue的简要实现114
65 [实例] 贾宪三角 121
66 [技巧] 排队组织与内蕴次序123
67 习题124
第7 章 章 链 链 127
71 概述127
72 [使用] list 128
73 [技巧] 用于链接的指针 132
74 链的变种 137
75 list的简要实现*138
76 [技巧] 基于归纳的初始条件选取149
77 [实例] 归并排序 151
78 习题155
第8 章 章 二 叉 树 树 157
81 概述157
82 二叉树与树 158
83 [技巧] 二叉树遍历 161
84 [技巧] 递归处理二叉树 165
目录 VII
85 [实例] 二叉查找树 168
86 习题173
第9 章 章 集 合 合 175
91 概述175
92 [使用] set与multiset175
93 [实例] 寻找宝藏 178
94 [技巧] 哨兵179
95 [技巧] 集合与序关系 182
96 [技巧] 不相交集 184
97 习题189
第10 章 章 优 先 级 队 列 列 191
101 概述191
102 [使用] priority_queue 192
103 [技巧] 维护最大元 193
104 priority_queue的简要实现196
105 [实例] 堆排序 200
106 [实例] Huffman编码203
107 习题209
第11 章 章 图 图 211
111 概述211
112 图的表示 213
113 图类217
114 [技巧] 编号与反向映射 225
115 [技巧] DFS和BFS 227
116 [实例] 最短路径* 232
117 [实例] 最小生成树 239
118 习题246
第12 章 章 实 验 验 247
121 多维求和 247
122 幻方计数 249
123 随机行走 251
124 纸牌游戏 255
125 迷宫生成 260
VIII 目录
126 数据压缩 261
127 会场安排 263
128 排序测试 264
附 录A 头 文 件 件 269
A1 计时类 269
A2 bookh270
附 录B 中 文 参 考 书 目 目 275
B1 国内数据结构教材275
B2 数据结构教材(翻译版)275
B3 算法教材(翻译版) 276
英 文 参 考 文 献 献 277