第1篇 验证篇 3
第1章 绪 3
1.1算法到程序的转换 4
1.2验证性实践步骤 7
1.3实验环境简介 7
1.3.1生成项目 8
1.3.2打开工程 10
1.3.3生成和编辑源程序文件 10
1.3.4在项目中加入和删除文件 11
1.3.5调试程序 12
第2章 线性表 17
2.1顺序存储的线性表 17
2.2单链表 25
2.3循环链表 33
2.4双循环链表 41
2.5静态链表 49
2.6线性表的应用 58
2.6.1集合并 58
2.6.2多项式求和 60
第3章 栈 67
3.1顺序栈 67
3.2链栈 72
3.3栈的应用 77
3.3.1数制转换 77
3.3.2表达式计算 79
第4章 队列 87
4.1循环队列 87
4.2链队 94
第5章 串 101
5.1串类实现 101
5.2串的模式匹配 111
第6章 数组 115
6.1稀疏矩阵快速转置 115
6.2矩阵加 118
6.3矩阵乘 123
第7章 广义表 129
第8章 树与二叉树 139
8.1二叉树 139
8.2树 160
8.3二叉树的线索化 172
8.3.1先序线索化 172
8.3.2中序线索化 179
8.3.3后序线索化 182
8.4最优二叉树及其应用 187
第9章 图 193
9.1图的存储结构及图的遍历 193
9.1.1数组表示法及图的遍历 193
9.1.2邻接表及图的遍历 210
9.1.3十字链表及图的遍历 225
9.1.4领接多重表及图的遍历 238
9.2图的连通性问题 253
9.2.1无向图的生成树或森林 253
9.2.2有向图的强连通分量 258
9.2.3最小生成树 260
9.2.4关节点 266
9.3有向无环图及其应用 270
9.3.1拓扑排序 270
9.3.2关键路径 274
9.4最短路径 278
9.4.1从某个源点到其余各顶点的最短路径 278
9.4.2每一对顶点之间的最短路径 282
第10章 查找 287
10.1静态查找表 287
10.2二叉排序树 293
10.3哈希表 300
第11章 内部排序 307
第2篇 设计篇 331
第1章 绪 331
1.1实验步骤 331
1.2实验报告格式 332
1.3实验报告案例 333
第2章 线性表 335
2.1约瑟夫问题 335
2.2有序表合并 336
2.3集合交运算问题 338
2.4一元多项式求导问题 339
第3章 栈 341
3.1表达式括号匹配配对判断问题 341
3.2顺序栈的公用问题 342
3.3迷宫问题 343
第4章 队列 345
4.1轮渡模拟 345
4.2单指针链队问题 347
4.3显示杨辉三角形 348
4.4栈对队列的模拟问题 349
第5章 串 351
5.1统计子串在字符串中出现的次数 351
5.2串逆置问题 352
5.3求串中最长重复子串 352
5.4文本文件中的单词统计 353
第6章 数组 355
6.1存储格式转换问题 355
6.2魔方问题 356
6.3兑奖算法 357
第7章 树和二叉树 359
7.1二叉树叶子结点个数计算 359
7.2二叉树相似问题 360
7.3二叉树任一结点的特征计算 361
7.4压缩软件 363
第8章 图 367
8.1存储结构转换问题 367
8.2有向图的路径问题 368
8.3邻接多重表建立无向图 369
8.4交通指南系统 371
第9章 查找 373
9.1顺序查找与折半查找的性能比较 373
9.2开放散列与链式散列性能比较 374
9.3动态查找——二叉排序树 375
第10章 排序 377
10.1几种基本排序算法的实现 377
10.2双向冒泡排序 378
10.3基于单链表的直接插入排序 379
第3篇 综合篇 385
第1章 绪 385
1.1综合设计内容 385
1.2综合设计报告格式 386
第2章 课设习题 387
2.1通讯录管理系统的设计与实现 387
2.2航空客运订票系统 389
2.3表达式求值问题 389
2.4推箱子游戏 391
2.5 8数码难题 392
2.6文件目录管理与显示 393
2.7教学计划编制 394
2.8校园十大优秀青年评比 396
2.9任务调度 397
2.10修道士野人问题 398
2.11食物送递服务 399
2.12校园导游 400
2.13中国邮路问题 401
附录A实验报告示例 403
参考文献 408