欢迎来到天天文库
浏览记录
ID:1331425
大小:83.00 KB
页数:13页
时间:2017-11-10
《数据结构与算法实验指导书》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《数据结构与算法》实验指导书实验课程编号:0731zk11实验室名称:多媒体技术实验室系(院):数计学院实验室地点:N5-406实验课学时:28实验类别:专业课适用专业:软件工程是否独立设课:否执笔人:李文新审批人:一、实验课程教学目的和要求《数据结构与算法》是一门实践性很强的课程,光靠读书和做习题是不能提高实践能力的。《数据结构与算法》的实验与程序设计语言课程中的实验不同,后者更多的强调语言方面的功能实现,而前者更接近实际,需要同学们自己分析问题,设计模型和算法,再上机调试完成。《数据结构与算法》的实验的目的主要有两个:1)深化理解书本上的理论知识,将书本的知识变“活”(为已掌握,
2、为已活用);2)理论和实践相结合,学会将相关的数据结构和算法应用于解决实际问题,培养数据结构的应用能力和软件工程所需要的实践能力。《数据结构与算法》的实验类型1)验证性实验—主要是验证教材中已有的数据结构和算法。2)设计性实验—针对具体问题,应用某一个知识点,自己设计数据结构和算法,培养对数据结构的简单运用能力。3)综合性实验—针对具体问题,应用某几个知识点,自己设计数据结构和算法,培养对数据结构的综合运用能力。《数据结构与算法》的实验安排项目实验题目学时说明一顺序表的保序插入操作2设计二单链表的保序插入操作2设计三循环单链表的插入和删除2设计四栈与队的操作2验证五栈与队的的应用2设
3、计六对称矩阵的压缩存储2验证七二叉树的操作2验证八二叉树的应用2设计九二叉树的应用2设计十图的操作2验证十一图的应用2设计十二图的应用2设计十三查找操作2验证十四查找应用2设计十五排序操作2验证十六排序应用2设计《数据结构与算法》实验的一般步骤1)需求分析:要对简单的问题描述进行详细的分析,充分理解问题,明确问题要求做什么,有什么数据,边界条件……。2)概要设计:针对问题描述中涉及到数据定义抽象数据类型,设计数据结构和算法模型。本部分不必考虑实现的细节。3)详细设计:设计具体的存储结构(用C++实现抽象数据类型对应的类)。此外,还要设计对象间的调用关系及输入输出。4)上机调试(运行代
4、码,修正语法及逻辑错误)5)结果与总结《数据结构与算法》的实验要求:1)完成实验预习;2)完成并上交实验报告;3)完成电子设计文档预习/实验报告的格式要求:1)实验名称2)实验目的3)实验内容及要求4)概要设计:ADT5)详细设计:C++类或C函数6)调试分析:7)结果与总结实验一:顺序表的保序插入操作一、实验目的:1)掌握线性表的顺序存储结构与算法实现;3)掌握顺序表的逻辑插入方法。二、实验内容及要求:设计:主函数、构建n个整数的顺序表函数、保序插入函数、输出函数。提示:主函数中调用构建n个整数的顺序表函数并调用输出函数;调用保序插入函数实现插入操作并调用输出函数输出。实验二:单链
5、表的保序插入操作一、实验目的:1)掌握线性表的链接存储结构与算法实现;2)掌握线性表的逻辑插入操作方法。二、实验内容及要求:设计:主函数、构建一个带头结点的单链表A(值为整数并有序)的函数、保序插入函数、输出函数。提示:主函数中调用构建单链表A函数并调用输出函数;调用保序插入函数实现插入操作并调用输出函数输出。结点结构:structNode{intdata;Node*next;};实验三:循环单链表的插入和删除一、实验目的:1)进一步掌握线性表的链接存储结构;2)掌握循环单链表及其基本操作的实现。二、实验内容及要求:1)用头插法(或尾插法)建立带头结点的循环单链表;2)在采用尾指针(
6、rear)表示的循环单链表中,查找元素为x的结点,如果有则删除该结点;如果没有则插入到循环单链表的尾部。操作接口:TLinkListLDI(Tx)实验四:栈与队的操作一、实验目的:1)掌握栈和队的顺序与链接存储结构;2)掌握栈和队的操作特性;3)掌握顺序栈和链队列的基本操作的实现方法。二、实验内容及要求:1)分别建立一个空的顺序栈和空的链队列;2)对已建立的顺序栈和链队列实现插入、删除、取栈顶元素、取队头元素及输出等基本操作。3)利用栈的基本操作完成十进制数n向P进制数(P在2-9之间)的转换。实验五:栈与队的的应用(括号匹配问题)一、实验目的:1)掌握栈和队列的存储结构;2)掌握栈
7、和队列的操作特性;3)掌握栈和队列基本操作的实现。二、实验内容及要求:括号匹配问题在算述表达式中,可能出现嵌套的大、中、小括号,设计一个算法,可以判断给定的表达式串中的括号是否是匹配的。要求:首先,分别先定义一个栈和一个队;其次,将表达式串中的各种括号字符依次入队(其它字符不予考虑);最后利用栈来判断队中的括号是否是匹配的。无论是什么括号,最后出现的左括号,必须与其后最先出现的右括号匹配,这符合栈的后进先出的特点,故我们可以用栈和进行匹配性判断。根据要求,
此文档下载收益归作者所有