《《数据结构》实验1计算机数据结构与算法_计算机-数据结构与算法.pdf》由会员分享,可在线阅读,更多相关《《数据结构》实验1计算机数据结构与算法_计算机-数据结构与算法.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构与算法第 1 次实验题目及要求 实验一:线性表、队列与栈及其操作算法 一、实验内容 1建立包括头结点和 3 个结点(4,2,1)的单链表,实现单链表建立、插入、删除和顺序 查找等基本操作。2编程用一维数组来模拟一个栈,实现入栈和出栈操作,解决括号匹配问题。3编程用一维数组来模拟一个队列,实现入队列和出队列操作,解决杨辉三角问题。二、实验要求 1 掌握单链表的各种运算(表内结点的插入、删除,输出单链表等)。2掌握栈的结构和算法应用。3掌握队列的结构和算法应用。三、实验报告要求 实验报告使用教务处统一印制的武汉理工大学学生实验报告书,主要包括:1)实验预习报告:主要包括下列内容:1 实验目
2、的和意义。2 问题描述:包括目标、任务、条件和约束的描述。3 实验原理与方法:阐述所使用的方案的工作原理。4 实验方案和技术路线,包括:数据结构设计和核心算法设计描述、主模块及功能模块层 次结构、主要功能模块的输入、输出和算法框架描述、功能模块之间的调用与被调用关系等 内容。2)实验过程记录:主要包括下列内容:1 上机实验的调试过程,包括编译时出现的错误信息、错误分析、解决方法和解决过程。2 上机实验的测试过程,包括测试范例,测试结果,测试结果的分析与讨论,测试过程中 遇到的主要问题及所采用的解决措施。3 软件使用说明:主要描述如何使用你的程序以及使用时的主要事项。4 实验输出结果。3)结果与
3、讨论:主要包括下列内容:1 实验结果分析:对本次实验进行分析和评价。2 小结、建议和体会:说明程序的改进思想、经验和体会。3 思考题:回答教师布置的讨论题。4 程序清单:根据教师的要求,以电子文档形式或者打印附件形式提交所设计的程序清单。要求:1、用 Visual C+上机编程,请预习 VC+软件;2、本要求适用后面两个实验;3、请同学们做实验时把课本带来,需要借助书上的例子;4、不能在课堂上完成的,自己课后完成,然后将课后完成的结果运行给老师看。实验题目及要求:1、实验题目为课本实验题 2.1 2.4,3.1 3.4;2、要求同学每 8 人为一组,分别按学号选择 2.1 2.4 及 3.1
4、3.4 其中的一题。课本 P56:线性表 实验题 2.1 编写一个程序 algo2-1.cpp,实现 顺序表结构 的各种基本运算,并在此基础上 设计一个主程序完成如下功能:(1)初始化顺序表 L;(2)依次采用尾插入法插入啊,a,b,c,d,e 元素;(3)输出顺序表 L;(4)输出顺序表 L 长度;(5)判断顺序表 L 是否为空;(6)输出顺序表 L 的第 3 个元素;(7)输出元素 a 的位置;(8)在第四个元素位置上插入f 元素;(9)输出顺序表 L;(10)删除 L 的第 3 个元素;(11)输出顺序表 L;(12)释放顺序表 L。实验题 2.2 编写一个程序 algo2-2.cpp,
5、实现 单链表 的各种基本运算,并在此基础上设计 一个主程序完成如下功能:(1)初始化单链表 h;(2)依次采用尾插法插入 a,b,c,d,e 兀素;(3)输出单链表 h;(4)输出单链表 h 长度;(5)判断单链表 h 是否为空;(6)输出单链表 h 的第 3 个兀素;(7)输出兀素 a 的位置;(8)在第 4 个兀素位置上插入f 兀素;(9)输出单链表 h;(10)删除 L 的第 3 个兀素;(11)输出单链表 h;(12)释放单链表 h。实验题 2.3 编写一个程序 algo2-3.cpp,实现 双链表 的各种基本运算,并在此基础上设计 一个主程序完成如下功能:(1)初始化双链表 h;(2
6、)依次采用尾插法插入 a,b,c,d,e 兀素;(3)输出双链表 h;(4)输出双链表 h 长度;(5)判断双链表 h 是否为空;(6)输出双链表 h 的第 3 个兀素;(7)输出兀素 a 的位置;(8)在第 4 个兀素位置上插入f 兀素;(9)输出双链表 h;单链表实现单链表建立插入删除和顺序查找等基本操作编程用一维数组来模拟一个栈实现入栈和出栈操作解决括号匹配问题编程用一维数组来模拟一个队列实现入队列和出队列操作解决杨辉三角问题二实验要求掌握单链表的各种运告使用教务处统一印制的武汉理工大学学生实验报告书主要包括实验预习报告主要包括下列内容实验目的和意义问题描述包括目标任务条件和约束的描述实
7、验原理与方法阐述所使用的方案的工作原理实验方案和技术路线包括数据结与被调用关系等内容实验过程记录主要包括下列内容上机实验的调试过程包括编译时出现的错误信息错误分析解决方法和解决过程上机实验的测试过程包括测试范例测试结果测试结果的分析与讨论测试过程中遇到的主要问题及所采(10)删除 L 的第 3 个元素;(11)输出双链表 h;(12)释放双链表 h。实验题 2.4 编写一个程序 algo2-4.cpp,实现 循环链表 的各种基本运算,并在此基础上设 计一个主程序完成如下功能:(1)初始化循环链表 h;(2)依次采用尾插法插入 a,b,c,d,e 元素;(3)输出循环链表 h;(4)输出循环链表
8、 h 长度;(5)判断循环链表 h 是否为空;(6)输出循环链表 h 的第 3 个元素;(7)输出元素 a 的位置;(8)在第 4 个兀素位置上插入f 兀素;(9)输出循环链表 h;(10)删除 L 的第 3 个兀素;(11)输出循环链表 h;(12)释放循环链表 h。课本 P88:栈和队列 实验题 3.1 编写一个程序 algo3-1.cpp,实现 顺序栈 的各种基本运算,并在此基础上设计 一个主程序完成如下功能:(1)初始化栈 s;(2)判断栈 s 是否非空;(3)依次进栈兀素 a,b,c,d,e;(4)判断栈 s 是否非空;(5)输出栈长度;(6)输出从栈顶到栈底的兀素;(7)输出出栈序
9、列;(8)判断栈 s 是否非空;(9)释放栈。实验题 3.2 编写一个程序 algo3-2.cpp,实现 链栈 的各种基本运算,并在此基础上设计一 个主程序完成如下功能:(1)初始化链栈 s;(2)判断链栈 s 是否非空;(3)依次进栈兀素 a,b,c,d,e;(4)判断链栈 s 是否非空;(5)输出链栈长度;(6)输出从栈顶到栈底的元素;(7)输出出链栈序列;(8)判断链栈 s 是否非空;(9)释放链栈。单链表实现单链表建立插入删除和顺序查找等基本操作编程用一维数组来模拟一个栈实现入栈和出栈操作解决括号匹配问题编程用一维数组来模拟一个队列实现入队列和出队列操作解决杨辉三角问题二实验要求掌握单
10、链表的各种运告使用教务处统一印制的武汉理工大学学生实验报告书主要包括实验预习报告主要包括下列内容实验目的和意义问题描述包括目标任务条件和约束的描述实验原理与方法阐述所使用的方案的工作原理实验方案和技术路线包括数据结与被调用关系等内容实验过程记录主要包括下列内容上机实验的调试过程包括编译时出现的错误信息错误分析解决方法和解决过程上机实验的测试过程包括测试范例测试结果测试结果的分析与讨论测试过程中遇到的主要问题及所采实验题 3.3 编写一个程序 algo3-3.cpp,实现 顺序环形队列 的各种基本运算,并在此基 础上设计一个主程序完成如下功能:(1)初始化队列 q;(2)判断队列 q 是否非空;
11、(3)依次进栈元素 a,b,c;(4)出队一个元素,输出该元素;(5)输出队列 q 的元素个数;(6)依次进队列元素 d,e,f;(7)输出队列 q 的元素个数;(8)输出出队序列;(9)释放队列。实验题 3.4 编写一个程序 algo3-4.cpp,实现 链队 的各种基本运算,并在此基础上设计 个主程序完成如下功能:1)初始化链队 q;2)判断链队 q 是否非空;3)依次进栈元素 a,b,c;4)出队一个元素,输出该元素;5)输出链队 q 的元素个数;6)依次进链队元素 d,e,f;7)输出链队 q 的元素个数;8)输出出队序列;9)释放链队。单链表实现单链表建立插入删除和顺序查找等基本操作编程用一维数组来模拟一个栈实现入栈和出栈操作解决括号匹配问题编程用一维数组来模拟一个队列实现入队列和出队列操作解决杨辉三角问题二实验要求掌握单链表的各种运告使用教务处统一印制的武汉理工大学学生实验报告书主要包括实验预习报告主要包括下列内容实验目的和意义问题描述包括目标任务条件和约束的描述实验原理与方法阐述所使用的方案的工作原理实验方案和技术路线包括数据结与被调用关系等内容实验过程记录主要包括下列内容上机实验的调试过程包括编译时出现的错误信息错误分析解决方法和解决过程上机实验的测试过程包括测试范例测试结果测试结果的分析与讨论测试过程中遇到的主要问题及所采
限制150内