第一篇 学习指导与习题解答 3
第1章 概论 3
1.1 学习指导 3
1.1.1 基本知识点 3
1.1.2 要点分析 4
1.2 习题参考解答 5
第2章 线性表 8
2.1 学习指导 8
2.1.1 基本知识点 8
2.1.2 要点分析 9
2.2 习题参考解答 10
第3章 栈和队列 16
3.1 学习指导 16
3.1.1 基本知识点 16
3.1.2 要点分析 17
3.2 习题参考解答 18
第4章 串 26
4.1 学习指导 26
4.1.1 基本知识点 26
4.1.2 要点分析 27
4.2 习题参考解答 27
第5章 数组和广义表 32
5.1 学习指导 32
5.1.1 基本知识点 32
5.1.2 要点分析 33
5.2 习题参考解答 33
第6章 树和二叉树 38
6.1 学习指导 38
6.1.1 基本知识点 38
6.1.2 要点分析 41
6.2 习题参考解答 43
第7章 图 49
7.1 学习指导 49
7.1.1 基本知识点 49
7.1.2 要点分析 52
7.2 习题参考解答 52
第8章 查找 65
8.1 学习指导 65
8.1.1 基本知识点 65
8.1.2 要点分析 66
8.2 习题参考解答 67
第9章 排序 73
9.1 学习指导 73
9.1.1 基本知识点 73
9.1.2 要点分析 73
9.2 习题参考解答 74
第二篇 数据结构实验 85
第10章 数据结构实验概述 85
10.1 实验教学的目的 85
10.2 实验教学的主要内容 85
10.3 实验步骤 86
10.4 实验报告示例 88
第11章 数据结构实验安排 91
11.1 线性表 91
11.1.1 顺序表操作(验证实验) 91
11.1.2 单链表操作(验证实验) 94
11.1.3 约瑟夫环问题(设计实验) 97
11.1.4 一元多项式加(减)法计算器(设计实验) 98
11.2 栈和队列 98
11.2.1 顺序栈操作(验证实验) 98
11.2.2 链栈操作(验证实验) 101
11.2.3 顺序队列操作(验证实验) 105
11.2.4 链队列操作(验证实验) 111
11.2.5 括号匹配的检验(设计实验) 114
11.2.6 栈逆置队列(设计实验) 115
11.3 树和二叉树 116
11.3.1 二叉树操作(验证实验) 116
11.3.2 哈夫曼编码问题(设计实验) 122
11.4 图 123
11.4.1 无向图的邻接矩阵操作(验证实验) 123
11.4.2 无向图的邻接表操作(验证实验) 124
11.4.3 单源点最短路径问题(设计实验) 128
11.4.4 多源点最短路径问题(设计实验) 128
11.5 查找 129
11.5.1 查找算法(验证实验) 129
11.5.2 哈希表设计(设计实验) 139
11.6 排序 140
11.6.1 直接插入排序(设计实验) 140
11.6.2 希尔排序(设计实验) 142
11.6.3 冒泡排序(设计实验) 143
11.6.4 直接选择排序(设计实验) 144
11.6.5 快速排序(设计实验) 144
11.6.6 归并排序(设计实验) 145
第三篇 数据结构课程设计 149
第12章 数据结构课程设计概述 149
12.1 课程设计的目的 149
12.2 课程设计的时间安排 150
12.3 课程设计的指导教师 150
12.4 课程设计的选题内容和要求 150
12.5 课程设计的实施步骤 151
12.6 课程设计总结报告的撰写规范 151
12.7 课程设计的上交材料 152
12.8 课程设计的成绩评定 152
第13章 数据结构课程设计安排 153
13.1 线性表(课程设计1) 153
13.1.1 顺序表的就地逆置 153
13.1.2 单链表的就地逆置 157
13.2 栈(课程设计2) 160
13.2.1 用栈逆置一个单链表 163
13.2.2 共享栈的设计 166
13.3 队列(课程设计3) 168
13.4 树和二叉树(课程设计4) 175
13.4.1 二叉树的生成 175
13.4.2 最优二叉树(哈夫曼树)的建立 178
13.5 图(课程设计5) 181
13.5.1 图的存储结构 181
13.5.2 图的遍历 184
13.5.3 图的应用 186
13.6 查找(课程设计6) 188
13.7 排序(课程设计7) 194
13.8 大型作业题(课程设计8) 207
13.9 数据结构课程设计补充题目 210
第14章 数据结构课程设计案例——图书管理信息系统的设计与实现 224
14.1 设计要求 224
14.2 设计分析 225
14.2.1 数据文件类型设计 225
14.2.2 系统功能算法描述 227
14.3 设计的实现 231
14.4 测试运行实例 241
14.4.1 主控菜单的设计 241
14.4.2 测试运行实例 242
参考文献 248