李业丽、郑良斌主编的《数据结构<C>实验教程》根据数据结构课程教学内容,总结出每章的内容要点,有针对性地设计了一些数据结构实验,对于每个实验,给出实验内容与要求、知识要点、实现提示、参考程序及思考与提高,所有的源程序都在Turbo C和Ⅵsual C++6.0环境下运行通过。通过这些实验,可以使读者了解并学会如何运用数据结构知识去解决现实世界中的一些实际问题,并具备设计较复杂算法的基本能力。在本书的附录中给出了参考实验报告模板,培养学生按照规范的形式书写实验报告的习惯。
本书既可以作为高等院校各类相关专业本科生、专科生学习数据结构的上机实验指导,也可以作为相关专业自学考试、研究生入学考试、计算机技术与软件专业技术资格(水平)考试、计算机等级考试(三级或四级)应试复习资料,同时也可供各类学习数据结构的人员参考使用。选用该教材上机实验的学校,可以根据学校自身的条件,在实验题目中有针对性地选一部分或全选。
数据结构是计算机学科的核心专业课程之一,它是软件开发的重要基础。为了配合数据结构课程的教学,加强读者对数据结构算法的理解,提高读者分析问题和解决问题的能力,《数据结构<C>实验教程》根据数据结构课程教学内容,总结出每章的内容要点,有针对性地设计了一些数据结构实验,加强基础实验的训练力度,起到举一反三的作用。对于每个实验,给出实验内容与要求、知识要点,实现提示、参考源程序及思考与提高,并在附录中给出了参考实验报告模板。
李业丽、郑良斌主编的《数据结构<C>实验教程》内容由浅入深、内容丰富,概念清楚、通俗易懂,特别注重对实际问题的分析和理解,具有较强的实用性。本书既可以作为高等院校各类相关专业本科生、专科生学习数据结构的上机实验指导。也可以作为相关专业自学考试、研究生入学考试、计算机技术与软件专业技术资格(水平)考试、计算机等级考试(三级或四级)应试复习资料,同时也可供各类学习数据结构的人员参考。
第一章 线性表
1. 1 内容要点
1.1.1 线性表的定义及其运算
1.1.2 线性表的顺序存储结构
1.1.3 线性表的链式存储结构
1.1.4循环链表结构
1.1.5 双向链表结构
1.1.6 线性表顺序存储结构和链式存储结构
1.2 基础实验
1.2.1 实验目的
1.2.2 实验内容
实验一:顺序表的建立
实验二:顺序表的插入
实验三:单链表的建立
实验四:单链表的合并
实验五:删除单链表中的重复值
实验六:单循环链表的逆置
1. 3 提高实验
1.3. 1 实验目的
1.3.2 实验内容
实验一:学生成绩管理
实验二:约瑟夫(Joscpbus)环问题
实验三:双向链表的综合运算
第二章 栈和队列
2.1 内容要点
2. 1. l 栈的定义及基本运算
2.1.2 栈的存储实现和运算实现
2.1.3 队列的定义及基本运算
2. 1.4 队列的存储实现及运算实现
2.2 基础实验
2.2.1 实验目的
2.2.2 实验内容
实验一:栈的顺序表示和实现
实验二:栈的链式表示和实现
实验四:队列的链式表示和实现
2.3 提高实验
2.3.1 实验目的
2.3.2 实验内容
实验一:迷宮的求解
实验二:停车场管理
第三章 串、多维数组和广义表
3.1 内容要点
3. 1.1 串
3.1.2 多维数组
3.1.3 广义表
3.2 基础实验一
3.2.1 实验目的
3.2.2 实验内容
实验一:在顺序存储结构上实现串模式匹配算法
实验二:在链式存储结构上实现串模式匹配算法和求子串算法
实验三:实现三角对称矩阵的压缩存储及其转置
实验四:用三元组表存储矩阵并实现转置
3.3 提高实验一
3.3.1 实验目的
3.3.2 实验内容
实验一:实现三元组表存储的矩阵的相加
实验二:实现广义表的运算
第四章 树与二叉树
4.1 知识要点
4.1. l 树的定义
4.1.2 树的结构特性
4.1.3 二叉树及其性质
4.1.4 二叉树的存储结构
4.1.5 二叉树的遍历
4.1.6 线索二叉树.
4.1.7 树、森林和二叉树的转换
4.1.8 哈夫曼(Huffman)树
4.2 基础实验
4.2.1 实验目的
4.2.2 实验内容
实验一:按照满二叉树将输入的字符串生成二叉树
实验二:实现二叉树的先序、中序、后序遍历
实验三:插入结点并输出二叉树中的结点
实验四:计算二叉树的结点和叶子结点的个数以及二叉树的深度,实现二叉树左右子树的交换
4.3 提高实验
4.3.1 实验目的
4.3.2 实验内容
实验一:构造哈夫曼树,对每个字符进行编码
实验二:构造一棵二叉排序树,进行查找和删除操作
第五章 图
5.1 知识要点
5.1.1 图的基本概念
5.1.2 图的有关术语
5.1.3 图的存储表示
5.1.4 图的遍历
5.1.5 最小生成树
5.1.6 最短路径
5.1.7 拓扑排序
5.2 基础实验
5.2.1 实验目的
5.2.2 实验内容
实验一:建立无向图的邻接矩阵
实验二:建立有向图的邻接表
实验三:图的深度优先遍历
实验四:图的广度优先遍历
5.3 提高实验
5.3.1 实验目的
5.3.2 实验内容
实验一:通信工程造价问题求解
实验二:工程拓扑排序问题
第六章查找
6.1 内容要点
6.1.1 基本概念
6.1.2 静态查找表
6.1.3 动态查找表
6.1.4 哈希(Hash)表
6.2 基础实验
6.2.1 实验目的
6.2.2 实验内容
实验一:顺序查找
实验二:折半查找
实验三:二叉排序树查找
实验四:Hash查找
6.3 提高实验
6.3.1 实验目的
6.3.2 实验内容
实验一:高校最低录取分数线的查询
实验二:通讯录的管理
第七章排序
7.1 内容要点
7.1.1 基本概念
7.1.2 插入排序
7.1.3 交换排序
7.1.4 选择排序
7.1.5 归并排序
7.1. 6 基数排序
7.1.7 内部排序算法的比较
7.2 基础实验
7. 2.1 实验目的
7.2.2 实验内容
实验一:排序方法练习
实验二:实现二分查找排序法
实验三:地名排序
实验四:确定某个数据在排序后的有序号
7.3 提高实验
7.3.1 实验目的
7. 3.2 实验内容
实验一:成绩排序
实验二:插入排序
附录 参考实验报告模板
参考文献