数据结构课程实验指导书Word文档格式.docx
《数据结构课程实验指导书Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据结构课程实验指导书Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
6、实验六:
图的遍历15
7、实验七:
査找17
8、实验八:
飞机订票系统19
9、实验报告基本内容要求21
10、实验报告格式22
11、附录24
实验一:
线性表的顺序存储结构
一、实验目的:
1.熟练掌握线性表的基本操作在顺序存储的实现:
2.以线性表的各种操作(建立、插入、删除等)的实现为重点;
3.掌握线性表的动态分配顺序存储结构的左义和基本操作的实现:
二、实验内容:
1.输入一组整型数据,建立顺序表。
2.实现该线性表的显示。
3.实现该线性表的删除。
5、实现该线性表的插入。
5、编写一个主函数,调试上述算法。
三、实验组织运行要求
安排实验时间学生统一上机。
四、实验条件
运行Visualc++的微机一台
五、实验步骤:
1、简要描述题目的要求,对问题的描述应避开算法所涉及的数据类型,只是对所需要完成的任务做出明确的陈述,例如数据的类型、值的范用以及输入的形式等。
2、选泄数据结构,写出算法,根据自顶向下发展算法的方法,首先描述算法的基本思想,然后进行算法细化,在对所设讣的算法进行分析。
3、准备好上机所需的程序,手工编好上机程序,并进行反复检查,是程序中的逻辑错误和语法错误减少到最低程度。
对程序中有疑问的地方,应做岀标记,以便在上机时给予注意。
4、上机输入和调试程序,在调试程序过程中除了系统的问题外,一般应自己独立解决。
在程序调试通过后,输出程序淸单和运行结果。
5、上机结束后,总结和整理实验报告。
七、思考题
1、如何实现线性表的逆置。
2、每次删除操作时,都会使得大量的数据元素移动,删除多个数据元素时,就许多次移动数据元素,能否一次进行删除多个数据元素的操作,使得数据元素的移动之进行一次。
八、实验报告
要求在指导书中明确学生实验报告的内容及具体要求,主要包括实验预习、实验记录和实验报告三部分,基本内容详见附件1。
九、程序清单
见附录
实验二:
线性表的链式存储结构
了解和掌握线性表的逻辑结构和链式存储结构,掌握单链表的基本算法。
1.建立一个带头结点的单向链表。
2.显示单链表中的元素。
3.对单向链表进行插入操作。
4.对单向链表进行删除操作。
5.编写一个主函数,调试上述算法。
1、简要描述题目的要求,对问题的描述应避开算法所涉及的数据类型,只是对所需要完成的任务做出明确的陈述,例如数拯的类型、值的范围以及输入的形式、输出数据的类型、值的范闱及输出的形式。
2、左数据结构,写出算法,根据自顶向下发展算法的方法,首先描述算法的基本思想,然后进行算法细化,在对所设计的算法进行分析。
3、准备好上机所需的程序,手工编好上机程序,并进行反复检查,是程序中的逻辑错误和语法错误减少到最低程度。
对程序中有疑问的地方,应做出标记,以便在上机时给予注意。
4、上机输入和调试程序,在调试程序过程中除了系统的问题外,一般应自己独立解决。
在程序调试通过后,输岀程序淸单和运行结果。
5、上机结朿后,总结和整理实验报告。
1、如果需要将新结点插入到第I个数据元素之后,算法将如何改动。
2、双向链表和循环链表的左义和构造方法。
实验三:
栈的实现
1.掌握栈、思想及其存储实现。
2.掌握栈、常见算法的程序实现。
1.采用链式存储实现栈的初始化、入栈、出栈操作。
2.采用顺序存储实现栈的初始化、入栈、出栈操作。
3.编写一个主函数,调试上述算法。
1、简要描述题目的要求,对问题的描述应避开算法所涉及的数据类型,只是对所需要完成的任务做岀明确的陈述,例如数据的类型、值的范用以及输入的形式、输出数据的类型、值的范国及输出的形式。
2、数据结构,写出算法,根据自顶向下发展算法的方法,首先描述算法的基本思想,然后进行算法细化,在对所设计的算法进行分析。
在程序调试通过后,输出程序淸单和运行结果。
七、思考题
1、如果两个栈共用一个存储空间,该如何解决?
实验四:
队列的实现
1.掌握队列的思想及英存储实现。
2.掌握队列的常见算法的程序实现。
1.采用链式存储实现队列的初始化、入队、出队操作。
2.采用顺序存储实现循环队列的初始化、入队、出队操作。
3.在主函数中设计一个简单的菜单,分别测试上述算法。
1、简要描述题目的要求,对问题的描述应避开算法所涉及的数据类型,只是对所需要完成的任务做岀明确的陈述,例如数据的类型、值的范围以及输入的形式、输出数据的类型、值的范围及输出的形式。
2、据结构,写出算法,根据自顶向下发展算法的方法,首先描述算法的基本思想,然
后进行算法细化,在对所设计的算法进行分析。
1、如果循环队列的下标不是从0开始,而是从1开始,那么头指针加1的操作应如何修改?
2、循环队列中判断对空和队满的条件能否一样,为什么?
实验五:
二叉树的操作
1.掌握二叉树的存储实现。
2.掌握二叉树的遍历思想。
3.掌握二叉树的常见算法的程序实现。
1.建立二叉树。
2、二叉树的三种遍历。
2、据结构,写出算法,根据自顶向下发展算法的方法,首先描述算法的基本思想,然后进行算法细化,在对所设计的算法进行分析。
3、备好上机所需的程序,手工编好上机程序,并进行反复检查,是程序中的逻辑错误和语法错误减少到最低程度。
对程序中有疑问的地方,应做岀标记,以便在上机时给予注意。
1、如何实现二叉树的层次遍历?
2、实现先序遍历、中序遍历和后序遍历的非递归算法。
实验六:
图的遍历操作
掌握有向图和无向图的概念:
掌握邻接矩阵和邻接链表建立图的存储结构;
掌握DFS、BFS的基本思想及对图的遍历操作:
设计一个有向图和一个无向图,任选一种存储结构,完成有向图和无向图的DFS(深度优先遍历)和BFS(广度优先遍历)的操作。
1、简要描述题目的要求,对问题的描述应避开算法所涉及的数据类型,只是对所需要完成的任务做岀明确的陈述,例如数据的类型、值的范用以及输入的形式、输出数拯的类型、值的范羽及输出的形式。
3、备好上机所需的程序,手工编好上机程序,并进行反复检查,是程序中的逻辑错误和语•法错误减少到最低程度。
对程序中有疑问的地方,应做出标记,以便在上机时给予注意。
1、邻接表和邻接矩阵存储结构的区别
八、实验报告
九、程序清单
实验七:
排序
1、掌握直接插入排序的算法。
2、掌握选择排序算法。
3、掌握快速排序算法。
输入一组随机整数,采用快速排序、选择排序和直接插入排序算法对这组数据进行排序,并显示排序前和排序后的数据。
1、三种排序每种的优缺点?
实验八:
飞机订票系统
实验学时:
4
实验类型:
设讣
实验要求:
必修