第一篇 数据结构 3
第一章 顺序存储结构的线性表 3
1.1 数组 4
1.2 栈 14
1.3 队列 21
1.4 串 32
第二章 链式存储结构的线性表 45
2.1 单链表 46
2.2 双向循环链表 56
第三章 非线性结构(1)—树 62
3.1 树的基本概念及其存储结构 63
3.2 二叉树 66
3.3 最优二叉树 78
3.4 树的应用举例 83
第四章 非线性结构(2)—图 105
4.1 图的基本概念和存储结构 105
4.2 图的遍历和生成树 111
4.3 最短路径问题 118
4.4 拓扑排序和计算关键路径 127
4.5 图的应用实例 134
第二篇 算法设计 158
第五章 算法设计的常用策略 158
5.1 对应的策略 158
5.2 分治策略 181
5.3 归纳策略 193
5.4 枚举策略 230
5.5 模拟策略 246
第六章 搜索隐式图的基本算法 257
6.1 回溯法 257
6.2 广度优先搜索 284
第七章 动态程序设计 317
7.1 动态程序设计方法的基本思路 318
7.2 动态程序设计的应用实例 323
第八章 网络流及其应用 347
8.1 基本概念与基本定理 349
8.2 寻求最大流的标号法(ford-fulkerson算法) 355
8.3 标号法的应用实例 363
8.4 标号法的推广 387
第九章 算法分析与NP问题简介 407
9.1 算法的正确性和测试 408
9.2 算法的简明性 427
9.3 算法的时间复杂度 435
9.4 算法的空间复杂度 451
9.5 算法的最优性 453
9.6 NP问题简介 461