1 数据结构概论 2
什么是数据结构 2
数据结构课程的内容 3
算法和算法分析 5
数据结构课程的地位 8
预备知识 10
本章小结 16
习题 17
2 线性表 19
线性表逻辑定义 19
线性表的顺序存储实现 20
线性表的链式存储结构 25
线性链表应用 42
本章小结 48
习题 49
实验指导 51
实验1班级通信录程序 51
实验2线性链表的基本操作 54
3 栈结构及应用 59
栈的逻辑定义及特点 59
栈结构的实现 60
栈的典型应用 64
栈与回溯方法 76
本章小结 83
习题 84
实验指导 86
实验3表达式括号匹配问题 86
4 队列及应用 90
队列的逻辑定义 90
链式队列 90
队列的顺序表示——循环队列 93
队列的典型应用 95
习题 96
实验指导 98
实验4队列应用——模拟银行自动叫号系统 98
5 数组和字符串 105
数组 105
矩阵的压缩存储 110
字符串 116
本章小结 133
习题 134
实验指导 136
实验5字符串操作 136
6 树与二叉树 139
树的概念与基本术语 139
二叉树的定义与性质 140
二叉树的遍历 146
线索二叉树 157
树、森林与二叉树的转换 160
哈夫曼树及应用 165
本章小结 173
习题 174
实验指导 177
实验6二叉树及应用 177
实验7哈夫曼树及前缀码 177
7图 184
图的基本概念 184
图的存储结构 185
图的遍历 192
最小生成树 197
有向无环图的应用 205
最短路径 213
本章小结 217
习题 218
实验指导 221
实验8图的遍历 221
实验9构造连通图的最小生成树 222
8查找 224
查找的基本概念 224
基于线性表的查找方法 225
树表查找法 229
哈希查找 240
本章小结 249
习题 250
实验指导 252
实验10查找表实验 252
9 内部排序 254
排序的基本概念 254
插入类排序 255
交换类排序 261
选择类排序 266
归并排序 274
基数排序 278
本章小结 282
习题 283
实验指导 286
实验11内部排序算法效率的比较 286
参考文献 289