第1章 绪论 2
1.1 重点内容讲解 2
1.1.1 数据结构课程的发展及其地位 2
1.1.2 数据结构的基本概念和术语 2
1.1.3 数据的逻辑结构和存储结构 2
第一部分 习题解析 2
1.1.4 算法及其描述 4
1.1.5 算法分析 4
1.2 典型例题解析 5
一、选择题 7
二、填空题 7
习题一 7
小结 7
三、判断题 9
四、综合题 9
第2章 线性表 11
2.1 重点内容讲解 11
2.1.1 线性表的定义与特征 11
2.1.2 顺序表的定义和表示 11
2.1.3 线性表的链式存储结构 12
2.2 典型例题解析 14
一、选择题 22
习题二 22
小结 22
二、填空题 23
三、判断题 24
四、综合题 25
第3章 栈和队列 26
3.1 重点内容讲解 26
3.1.1 栈 26
3.1.2 队列 27
3.2 典型例题解析 28
一、选择题 35
习题三 35
小结 35
二、填空题 36
三、判断题 38
四、综合题 38
第4章 串 40
4.1 重点内容讲解 40
4.1.1 串的基本概念 40
4.1.2 串的存储结构 40
4.1.3 串的模式匹配 41
4.2 典型例题解析 43
二、填空题 49
一、选择题 49
习题四 49
小结 49
三、判断题 50
四、综合题 50
第5章 数组和广义表 52
5.1 重点内容讲解 52
5.1.1 数组的定义 52
5.1.2 数组的顺序存储结构和实现 52
5.1.3 特殊矩阵和稀疏矩阵的压缩存储 54
5.1.4 广义表 56
5.2 典型例题解析 58
小结 62
习题五 63
一、选择题 63
二、填空题 63
三、判断题 64
四、综合题 65
第6章 树和二叉树 66
6.1 重点内容讲解 66
6.1.1 树的基本概念和术语 66
6.1.2 二叉树 68
6.1.3 遍历二叉树 69
6.1.4 线索二叉树 69
6.1.5 树和森林 70
6.1.6 哈夫曼树 73
6.2 典型例题解析 73
小结 78
习题六 79
一、选择题 79
二、填空题 80
三、判断题 83
四、综合题 84
第7章 图 86
7.1 重点内容讲解 86
7.1.1 图的基本概念 86
7.1.2 图的存储结构 88
7.1.3 图的遍历 89
7.1.4 最小生成树 89
7.1.5 最短路径 90
7.1.6 拓扑排序 91
7.2 典型例题解析 91
小结 95
习题七 96
一、选择题 96
二、填空题 97
三、判断题 100
四、综合题 100
8.1.1 查找的基本概念 102
第8章 查找 102
8.1 重点内容讲解 102
8.1.2 顺序查找 103
8.1.3 折半查找 103
8.1.4 分块查找 104
8.1.5 动态查找表 105
8.1.6 哈希表查找 106
8.2 典型例题解析 108
小结 111
习题八 111
一、选择题 111
二、填空题 113
三、判断题 115
四、综合题 116
第9章 排序 117
9.1 重点内容讲解 117
9.1.1 排序的基本概念 117
9.1.2 插入排序 118
9.1.3 交换排序 119
9.1.4 选择排序 120
9.1.5 归并排序 121
9.1.6 基数排序 121
9.2 典型例题解析 122
9.1.7 各种内部排序方法的比较 122
小结 127
习题九 128
一、选择题 128
二、填空题 129
三、判断题 130
四、综合题 131
10.1 实验目的 134
10.2.1 顺序表的基本运算 134
10.2 实验内容 134
第10章 实验指导一——线性表 134
第二部分 实验指导 134
10.2.2 单链表的基本运算 136
10.2.3 一元多项式计算 140
第11章 实验指导二——栈和队列 143
11.1 实验目的 143
11.2 实验内容 143
11.2.1 算术表达式求值 143
11.2.2 迷宫问题求解 147
11.2.3 键盘缓冲区问题 151
12.2 实验内容 154
12.2.1 串KMP算法的C语言基本实现 154
第12章 实验指导三——串 154
12.1 实验目的 154
12.2.2 求两个串的最长公共子串 156
12.2.3 串的匹配与逆置 158
第13章 实验指导四——数组和广义表 160
13.1 实验目的 160
13.2 实验内容 160
13.2.1 n阶魔方阵的求解 160
13.2.2 鞍点问题的求解 162
13.2.3 十字链表基本操作的实现 163
13.2.4 广义表基本操作的实现 168
14.2 实验内容 173
14.2.1 二叉树各种遍历操作的实现 173
第14章 实验指导五——树和二叉树 173
14.1 实验目的 173
14.2.2 二叉树基本操作的实现 178
14.2.3 哈夫曼树的构造与显示 181
第15章 实验指导六——图 185
15.1 实验目的 185
15.2 实验内容 185
15.2.1 通信工程造价问题求解 185
15.2.2 最短交通时间问题 187
15.2.3 工程拓扑排序问题 189
16.2.1 二叉排序树查找的基本操作 194
16.2 实验内容 194
第16章 实验指导七——查找 194
16.1 实验目的 194
16.2.2 哈希表查找的设计 198
第17章 实验指导八——排序 202
17.1 实验目的 202
17.2 实验内容 202
17.2.1 多种排序算法的比较 202
17.2.2 归并排序算法的实现 209
17.2.3 基数排序算法的实现 212
全真模拟试卷 216
全真模拟试卷一 216
第三部分 全真模拟试卷 216
全真模拟试卷二 221
全真模拟试卷三 227
全真模拟试卷四 234
全真模拟试卷五 240
全真模拟试卷六 246
全真模拟试卷七 253
全真模拟试卷八 259
全真模拟试卷九 265
全真模拟试卷十 272
全真模拟试卷参考答案 279
参考文献 317