目录 1
第1章 绪论 1
1.1 数据结构的基本概念和术语 1
1.1.1 引例 1
1.1.2 数据结构有关概念及术语 2
1.2 算法描述与分析 3
1.2.1 什么是算法 3
1.2.2 算法描述工具——C语言 3
1.2.3 算法分析技术初步 4
1.3 实习:常用算法实现及分析 5
习题1 6
第2章 线性表 8
2.1 线性表引例 8
2.2 线性表的定义和基本运算 8
2.2.1 线性表的概念 8
2.3.1 向量的存储特点 9
2.3 线性表的顺序存储结构 9
2.2.2 表的基本运算 9
2.3.2 向量中基本运算的实现 10
2.4 线性表的链式存储结构 12
2.4.1 线性链表 12
2.4.2 单向链表基本运算的实现 14
2.5 循环链表和双向链表 16
2.5.1 循环链表 16
2.5.2 双向链表 17
2.6 实习:线性表的应用实例 19
2.5.3 线性表的顺序存储结构和链式存储结构的比较 19
习题2 24
第3章 栈和队列 25
3.1 栈和队列引例 25
3.2 栈 25
3.2.1 栈的定义 25
3.2.2 栈的基本运算 25
3.3.1 顺序栈 26
3.3.2 顺序栈的基本运算的实现 26
3.3 顺序栈的存储结构及算法实现 26
3.4 链式栈 27
3.5 队列 27
3.5.1 队列的定义和运算 27
3.5.2 队列的存储结构及其算法实现 28
3.5.3 顺序队列的基本运算 28
3.5.4 循环队列 29
3.6 实习:栈的应用实例 30
习题3 34
第4章 串 35
4.1 串的基本概念 35
4.2 串的存储结构 36
4.2.1 串的顺序存储 36
4.2.2 串的链式存储 38
4.3 串的基本运算的实现 39
4.4 实习:串运算实例 42
习题4 46
5.1 数组的定义和运算 47
第5章 数组 47
5.2 数组的顺序存储和实现 48
5.3 特殊矩阵的压缩存储 50
5.3.1 三角矩阵 51
5.3.2 稀疏矩阵 52
5.4 实习:数组应用实例 57
习题5 59
第6章 树 60
6.1 树的应用实例 60
6.2.2 树的常用术语 61
6.2 树的基本概念和术语 61
6.2.1 树的定义 61
6.2.3 树的表示方法 62
6.3 二叉树 62
6.3.1 二叉树的定义 62
6.3.2 二叉树的重要性质 63
6.3.3 二叉树的存储结构 65
6.3.4 二叉树二叉链表的一个生成算法 66
6.4.1 先根遍历 67
6.4 遍历二叉树 67
6.4.2 中根遍历 68
6.4.3 后根遍历 68
6.4.4 二叉树遍历算法的应用 69
6.5 线索二叉树 70
6.5.1 线索二叉树的基本概念 70
6.5.2 线索二叉树的逻辑表示图 72
6.5.3 中根次序线索化算法 72
6.5.4 在中根线索树上检索某结点的前驱或后继 73
6.5.5 在中根线索树上遍历二叉树 74
6.6 二叉树、树和森林 74
6.6.1 树的存储结构 74
6.6.2 树与二叉树之间的转换 75
6.6.3 森林与二叉树之间的转换 76
6.6.4 一般树或森林的遍历 77
6.7 树的应用 77
6.7.1 二叉排序树 77
6.7.2 哈夫曼树及其应用 79
6.8 实习:二叉树的建立和遍历 84
习题6 87
第7章 图 88
7.1 基本术语 88
7.2 图的存储结构 89
7.2.1 邻接矩阵 89
7.2.2 邻接链表 91
7.3 遍历图 92
7.3.1 深度优先搜索法 92
7.3.2 广度优先搜索法 94
7.4 最短路径 95
7.4.1 从某个源点到其他各顶点的最短路径 96
7.4.2 求每一对顶点之间的最短路径 98
7.5 拓扑排序 101
7.5.1 AOV网 101
7.5.2 拓扑排序 102
7.6 实习:最短路径的实现 103
习题7 104
8.1.1 顺序表的查找 106
第8章 查找 106
8.1 静态查找表 106
8.1.2 有序表的查找 108
8.1.3 索引顺序表的查找 109
8.2 动态查找表 111
8.2.1 二叉排序树 111
8.2.2 平衡二叉树 115
8.3 哈希表及其查找 117
8.3.1 哈希表与哈希函数 117
8.3.2 构造哈希函数的常用方法 118
8.3.3 解决冲突的主要方法 119
8.4 实习:哈希表查找设计 122
习题8 126
第9章 排序 128
9.1 排序的基本概念 128
9.2 插入排序 129
9.2.1 直接插入排序 129
9.2.2 折半插入排序 130
9.2.3 希尔排序 131
9.3 交换排序 133
9.3.1 冒泡排序 133
9.3.2 快速排序 134
9.4 选择排序 136
9.4.1 直接选择排序 136
9.4.2 堆排序 137
9.5 内部排序方法的比较 142
9.6 实习:排序算法的实现——学生成绩管理 143
习题9 144
第10章 文件 146
10.1 文件的基本概念 146
10.2 文件的组织 146
10.2.1 顺序文件 146
10.2.2 索引文件 148
10.2.3 索引顺序文件ISAM 149
习题10 149
参考文献 150