第0章 绪论 1
0.1 课程设计特点 1
0.2 课程设计结构 1
第1章 链表的应用 5
1.1 知识解析 5
1.1.1 线性表的基础知识 5
1.1.2 线性表的基本运算 7
1.2 算法设计与分析 9
1.2.1 顺序表上的相关操作 9
1.2.2 线性链表上相关操作的算法及其分析 11
1.3 一元多项式的运算 13
13.1 问题分析 14
1.3.2 算法解析 14
1.3.3 完整程序清单 17
1.3.4 程序运行测试 19
1.4 通讯录管理系统的设计与实现 20
1.4.1 问题分析 20
1.4.2 系统设计 21
1.4.3 完整程序清单 27
1.4.4 程序运行测试 32
1.5 约瑟夫生者死者游戏 35
1.5.1 问题分析 35
1.5.2 程序实现 37
1.5.3 程序运行测试 39
1.6 评价标准 39
第2章 栈和队列的应用 40
2.1 知识解析 40
2.1.1 栈和队列的基本概念 40
2.1.2 栈和队列的基本运算 41
2.1.3 栈和队列的存储结构 41
2.2 算法设计与分析 45
2.2.1 栈的特性 45
2.2.2 循环队列的特点 45
2.2.3 栈的应用举例 46
2.3 八皇后问题 48
2.3.1 设计要求与分析 48
2.3.2 算法求精 49
2.3.3 算法扩充 50
2.3.4 完整的算法实现 51
2.4 表达式求值问题 53
2.4.1 设计要求与分析 54
2.4.2 中缀表达式到后缀表达式的转换 54
2.4.3 后缀表达式的计算 56
2.4.4 表达式运算算法的实现 57
2.5 评价标准 61
第3章 文本文件的检索 62
3.1 知识解析 62
3.1.1 串的概念 62
3.1.2 顺序串 62
3.1.3 链串 63
3.1.4 串运算的实现 63
3.2 算法设计与分析 65
3.3 串模式匹配算法的设计与实现 67
3.3.1 设计要求 67
3.3.2 算法分析与设计 67
3.3.3 调用算法实例 68
3.4 文本文件单词的检索与计数 69
3.4.1 设计要求与分析 69
3.4.2 设计实例的实现 70
3.5 评价标准 74
第4章 稀疏矩阵和广义表 75
4.1 知识解析 75
4.1.1 多维数组 75
4.1.2 特殊矩阵 76
4.1.3 广义表 77
4.2 算法设计与分析 78
4.2.1 矩阵运算 78
4.2.2 广义表运算 80
4.3 稀疏矩阵的压缩存储和运算 80
4.3.1 设计要求与分析 80
4.3.2 设计实例 81
4.3.3 完整的程序实现 83
4.4 广义表的运算 84
4.4.1 设计要求 84
4.4.2 算法分析 85
4.4.3 算法实现 87
4.4.4 运行测试实例 89
4.5 评价标准 92
第5章 树结构的应用 93
5.1 知识解析 93
5.1.1 树的概念和术语 93
5.1.2 二叉树概述 93
5.1.3 二叉树的运算 94
5.1.4 线索二叉树 96
5.1.5 树和森林 98
5.1.6 赫夫曼树 99
5.2 算法设计与分析 100
5.2.1 二叉树的遍历 100
5.2.2 赫夫曼树 101
5.2.3 二叉树上的其他运算 102
5.3 求二叉树上结点的路径 104
5.3.1 设计要求与分析 104
5.3.2 设计实例 105
5.3.3 算法运行实例 109
5.4 赫夫曼编码的应用 112
5.4.1 设计要求与分析 112
5.4.2 赫夫曼树的建立 112
5.4.3 赫夫曼编码 114
5.4.4 代码文件的译码 115
5.4.5 算法运行实例 116
5.5 评价标准 120
第6章 图结构的应用 121
6.1 知识解析 121
6.1.1 图的基本术语 121
6.1.2 图的存储表示方式 122
6.1.3 图的基本运算 123
6.1.4 拓扑排序法 126
6.2 算法设计与分析 126
6.2.1 图的存储表示 126
6.2.2 图的遍历 127
6.2.3 顶点之间的最短路径 129
6.3 交通咨询系统设计 130
6.3.1 设计要求与分析 130
6.3.2 设计功能的实现 131
6.3.3 主控程序 133
6.3.4 运行实例 134
6.4 评价标准 138
第7章 排序算法的应用 140
7.1 知识解析 140
7.1.1 排序的基本概念 140
7.1.2 常用排序方法 141
7.1.3 各种排序方法比较 142
7.2 算法实现思路 143
7.2.1 插入排序 143
7.2.2 交换排序 144
7.2.3 选择排序 146
7.2.4 分配排序 149
7.3 学生成绩处理 150
7.3.1 设计要求与分析 150
7.3.2 算法设计源程序 151
7.3.3 主控程序 156
7.3.4 运行实例 157
7.4 评价标准 159
第8章 查找算法的应用 160
8.1 知识解析 160
8.1.1 顺序表的查找 160
8.1.2 二叉排序树 162
8.1.3 散列表的查找 163
8.2 算法设计与分析 166
8.2.1 有序表上的顺序查找 167
8.2.2 查找算法分析 167
8.3 航班信息的查询与检索 168
8.3.1 设计要求 168
8.3.2 设计分析 169
8.3.3 算法实现 170
8.3.4 源程序清单 172
8.3.5 运行测试实例 177
8.4 评价标准 179
第9章 文件的应用 181
9.1 知识解析 181
9.1.1 文件的基本概念 181
9.1.2 常用的文件结构 182
9.2 文件实例分析 184
9.3 图书管理信息系统的设计与实现 186
9.3.1 设计要求 186
9.3.2 设计分析 187
9.3.3 设计的实现 191
9.3.4 主控菜单的设计 200
9.3.5 运行测试实例 202
9.4 评价标准 207
参考文献 208