《实验指导(学生版)》由会员分享,可在线阅读,更多相关《实验指导(学生版)(4页珍藏版)》请在金锄头文库上搜索。
1、实验一线性表( 2 课时)一、实验目的1. 掌握线性表的顺序表示、链式表示以及基本操作。2. 熟悉循环链表的结构特点及应用原理。3. 理解双向链表和静态链表的存储方式及操作方法。二、实验要求1. 实验课前,要求学生对C+语言知识做简单的复习,特别是对C+语言中数组的用法做进一步掌握。2. 熟悉实验室计算机的环境,检查VC 是否能够正常运行。方法是输入一简单小程序,对其进行编译和执行,其过程是否正常。3. 课前复习线性表的顺序存储结构的定义及C+语言实现以及线性表的链式存储结构 单链表的定义及 C+语言实现。4. 认真整理源程序及其注释,将实验过程中编写的源代码和运行结果进行 汇总,结合程序分析
2、算法性能,并写出实验总结。5. 完成实验报告(包括源程序、实验结果、算法分析、心得体会等)。三、实验内容1、基本操作部分:线性链表的插入、删除等基本操作的实现。 2.、实例应用部分:实现对单链表中重复元素的删除。源程序:(请填写)四、实验体会实验二栈和队列( 4 课时)一、实验目的1. 熟悉掌握栈和队列的抽象数据类型。2. 掌握实现栈和队列的各种操作的算法。3. 理解栈与递归的关系。二、实验要求1. 实验课前复习栈的顺序存储结构。2. 复习栈的链式存储结构。3. 对于队列,思考队列链式存储结构与栈的链式存储结构不同之处,并付诸于上机实现。4. 在 VC 编程环境下,验证教材中给出的例题,在此基
3、础上完成本实验内容所列的实验任务。5. 认真整理源程序及其注释,将实验过程中编写的源代码和运行结果进行 汇总,结合程序分析算法性能,并写出实验总结。三、实验内容1、基本操作部分:含栈的顺序存储以及链式存储的插入、删除操作的实现; 链队列的插入删除操作的实现。2、实例应用部分:(1)判断表达式的括号是否配对。要求:使用栈作为判断过程的注意数据结构,当读入“ (”时入栈,当读入“) ” 时出栈。程序中辅以正确的其他操作。源程序:(2)编写程序判断读入的字符系列是否为“ 回文” (正读和反读都相同的字符系列) 。 要求:同时用栈和队列,将输入的元素分别进栈和进队列,然后退栈和出队, 若两者出来的顺序
4、相同则是“ 回文” 。若是,则返回 1,否则返回 0. 源程序:四、实验体会实验三串( 2 课时)一、实验目的1. 熟悉串的表示和实现。2. 掌握串的模式匹配算法以及串的基本运算顺序结构上的实现。3. 理解串在文本编辑操作中的应用。二、实验要求1. 本实验主要考查学生在处理非数值问题时对串的应用,在做本实验之前,先进一步熟悉和掌握串的基本操作。2. 对于串定位、串删除和串置换操作,要求学生达到综合使用。3. 利用实例巩固串的模式匹配算法,上机实现串定位编程。4. 完成实验内容中所列出的实验任务。5. 认真整理源程序及其注释,将实验过程中编写的源代码和运行结果进行汇总,结合程序分析算法性能,并写出实验总结。三、实验内容1. 基本操作部分:编写程序实现串插入,串赋值,求串长,串比较,串联接,求子串,串清空,以及朴素串的定位算法。2.、实例应用部分:编写算法实现,统计在一个输入字符串中各个不同字符出现的频度。用适当的测试数据来验证这个算法。源程序:四、实验总结