《《数据结构》上机实验要求 (1)》由会员分享,可在线阅读,更多相关《《数据结构》上机实验要求 (1)(5页珍藏版)》请在金锄头文库上搜索。
1、数据结构与算法数据结构与算法课程实验内容与要求课程实验内容与要求一、一、课程简介课程简介本课程着重讲述 线性结构、树型结构、图等典型数据结构的逻辑特点、存储结构及其相应的基本算法。各种查找算法 典型内部排序算法。二、二、实验的作用、地位和目的实验的作用、地位和目的数据结构是一门技术基础课,通过实验深刻理解各种逻辑结构、存储结构的特性,培养为实际问题分析其数据对象、基本操作,选择逻辑结构、存储结构灵活应用基本算法,设计出具有专业水准的应用程序的能力。三、三、实验方式与要求实验方式与要求首先要求学生在课下完成问题分析、算法设计,基本完成程序设计。实验时,每位学生使用一台微机,独立调试,完成程序。程
2、序调试好后,由指导教师检测运行结果,并要求学生回答相关的问题。教师评出检查成绩。学生记录程序的输入数据,运行结果及源程序。在一周内完成实验报告。四、四、考核方式与实验报告要求考核方式与实验报告要求实验成绩由指导教师根据学生的实验完成情况、源程序质量、回答问题情况、实验报告质量、实验成绩由指导教师根据学生的实验完成情况、源程序质量、回答问题情况、实验报告质量、实验纪律等方面给分。实验纪律等方面给分。学生在实验后的一周内提交实验报告。学生在实验后的一周内提交实验报告。实验报告首页按学校统一印刷的实验报告模版书写。实实验报告首页按学校统一印刷的实验报告模版书写。实验报告中应包括如下内容:验报告中应包
3、括如下内容:实验内容按任课教师下达的实验任务填写(具体实验题目和要求)实验内容按任课教师下达的实验任务填写(具体实验题目和要求) ;实验过程与实验结果应包括如下主要内容:实验过程与实验结果应包括如下主要内容:算法设计思路简介算法设计思路简介算法描述:可以用自然语言、伪代码或流程图等方式算法描述:可以用自然语言、伪代码或流程图等方式算法的实现和测试结果:包括算法运行时的输入、输出,实验中出现的问题及解决办算法的实现和测试结果:包括算法运行时的输入、输出,实验中出现的问题及解决办法等法等源程序清单与实验结果或其它说明可打印,并装订在实验报告首页之后。源程序清单与实验结果或其它说明可打印,并装订在实
4、验报告首页之后。实验报告雷同者,本次实验成绩为实验报告雷同者,本次实验成绩为 0 分或雷同实验报告平分得分分或雷同实验报告平分得分五、五、实验的软硬件环境实验的软硬件环境硬件环境:P以上微型计算机软件环境:Windows98/2000, VC+6.0 或 turbo C六、六、实验内容安排实验内容安排实验一实验一 线性表应用线性表应用实验时间:实验时间:20152015 年年 3 3 月月 2626 日,日,10:00-13:0010:00-13:00(地点:(地点:7-2207-220)实验目的:实验目的: 理解线性表的逻辑特点;掌握顺序表、链表存储结构,以及线性表的基本操作,如插入、删除、
5、查找,以及线性表合并等操作在顺序存储结构和链式存储结构上的实现算法,并能够在实际问题背景下的灵活运用线性表来解决问题,实现相应算法。具体实验题目与要求:(任课教师根据实验大纲自己指定)具体实验题目与要求:(任课教师根据实验大纲自己指定)每位同学可从下面题目中选择每位同学可从下面题目中选择 1-21-2 题实现:题实现:1一元稀疏多项式简单的计算器1)问题描述:用线性表表示一元稀疏多项式,设计一个一元多项式运算器2)要求: (1)采用单链表存储结构一元稀疏多项式(2)输入并建立多项式(3)输出多项式(4)实现多项式加、减运算2单链表基本操作练习1)问题描述:在主程序中提供下列菜单:1建立链表2连
6、接链表3输出链表0结束2)实验要求:算法中包含下列过程,分别完成相应的功能:CreateLinklist(): 从键盘输入数据,创建单链表ContLinklist():将前面建立的两个单链表首尾相连OutputLinklist():输出显示单链表3约瑟夫环问题1)问题描述:有编号为 1, 2n 的 n 个人按顺时针方向围坐一圈,每人持有一个正整数密码。开始给定一个正整数 m,从第一个人按顺时针方向自 1 开始报数,报到 m 者出列,不再参加报数,这时将出列者的密码作为 m,从出列者顺时针方向的下一人开始重新自 1 开始报数。如此下去,直到所有人都出列。试设计算法,输出出列者的序列。2)要求:
7、采用顺序和链式两种存储结构实现实验报告格式及要求:实验报告格式及要求:按学校印刷的实验报告模版书写。 (具体要求见四)(具体要求见四)实验二实验二 栈与队列应用栈与队列应用实验时间:实验时间:20152015 年年 4 4 月月 9 9 日日 10:00-13:0010:00-13:00(地点:(地点:7-2207-220)实验目的:实验目的:理解栈和队列的逻辑特点;掌握栈和队列基本操作的实现,并能达到在实际问题背景下的灵活运用栈或队列结构解决问题的程度。 具体实验题目:(任课教师根据实验大纲自己指定)具体实验题目:(任课教师根据实验大纲自己指定)每位同学完成下面每位同学完成下面 2 2 个题
8、目:个题目:1十进制数与 N 进制数据的转换 1)问题描述:将从键盘输入的十进制数转换为 N(如二进制、八进制、十六进制)进制数据。2)要求: 利用顺序栈实现数制转换问题2算术表达式求值算法1)问题描述:从键盘输入一个算术表达式并输出它的结果2)要求:算术表达式可包含加、减、乘、除、十进制整数和小括号,利用栈实现实验报告格式及要求:实验报告格式及要求:按学校印刷的实验报告模版书写。 (具体要求见四)(具体要求见四)实验三实验三 二叉树操作二叉树操作实验时间:实验时间:20152015 年年 4 4 月月 3030 日日 10:00-13:0010:00-13:00(地点:(地点:7-2207-
9、220)实验目的:实验目的:理解二叉树的逻辑特点和二叉树的性质;掌握二叉树的二叉链表存储结构,掌握二叉树 的创建算法、遍历算法的递归与非递归实现。具体实验题目:(任课教师根据实验大纲自己指定)具体实验题目:(任课教师根据实验大纲自己指定)第第 1 1 题为必做题,第题为必做题,第 2 2 题为选做题目:题为选做题目:1.每位同学按下述要求实现相应算法:以二叉链表为存储结构,实现二叉树的创建、遍历算法1)问题描述:在主程序中提供下列菜单:1建立树2前序遍历树3中序(非递归)遍历树4后序遍历树0结束2)实验要求: 定义下列过程:CreateTree(): 按从键盘输入的前序序列,创建树PreOrd
10、erTree():前序遍历树(递归)InOrderTree():中序(非递归)遍历树LaOrderTree(): 后序遍历树(递归) 每位同学在实验过程中要单步运行程序,跟踪二叉树的创建过程与前序遍历的递归过程。2. 树的转换:我们都知道用“孩子兄弟”表示法可以将一棵一般的树转换为二叉树。请设计算法将一棵树用这种方法转换为二叉树,并输出转换前和转换后树的前序遍历序列。实验报告格式及要求:实验报告格式及要求:按学校印刷的实验报告模版书写。 (具体要求见四)(具体要求见四)实验四实验四 图的深度优先与广度优先遍历图的深度优先与广度优先遍历实验时间:实验时间:20152015 年年 5 5 月月 2
11、121 日,日,10:00-13:0010:00-13:00(地点:(地点:7-2207-220)实验目的:实验目的:理解图的逻辑特点;掌握理解图的两种主要存储结构(邻接矩阵和邻接表) ,掌握图的构造、深度优先遍历、广度优先遍历算法。具体实验题目:(任课教师根据实验大纲自己指定)具体实验题目:(任课教师根据实验大纲自己指定)第第 1 1 题为必做题,第题为必做题,第 2 2 题为选做题目:题为选做题目:1. 每位同学按下述要求实现相应算法: 根据从键盘输入的数据创建图(图的存储结构可采用邻接矩阵或邻接表) ,并对图进行深度优先搜索和广度优先搜索1)问题描述:在主程序中提供下列菜单:1图的建立2
12、深度优先遍历图3广度优先遍历图0结束2)实验要求:图的存储可采用邻接表或邻接矩阵;定义下列过程:CreateGraph(): 按从键盘的数据建立图DFSGrahp():深度优先遍历图BFSGrahp():广度优先遍历图2. 拓扑排序:给出一个图的结构,输出其拓扑排序序列(顶点序列用空格隔开) ,要求在同等条件下,编号小的顶点在前。实验报告格式及要求:实验报告格式及要求:按学校印刷的实验报告模版书写。 (具体要求见四)(具体要求见四)实验五实验五 查找算法应用查找算法应用实验时间:实验时间:20152015 年年 6 6 月月 1818 日日 10:00-13:0010:00-13:00(地点:
13、(地点:7-2207-220)实验目的:实验目的:理解二叉排序树、AVL 树的查找、插入、删除、建立算法的思想及程序实现;掌握散列存储结构的思想,能选择合适散列函数,实现不同冲突处理方法的散列表的查找、建立。散列表等查找算法解决实际问题。具体实验题目:(任课教师根据实验大纲自己指定)具体实验题目:(任课教师根据实验大纲自己指定)每位同学可从下面题目中选择 1-2 题实现:1哈希表查找1)问题描述:针对某个集体的“人名”构造哈希表,解决按“人名”进行查找的索引结构。2)实验要求:要求表的平均查找长度不超过 R(R 可以从键盘输入确定) ,完成相应的建表和查表程序。2构造二叉排序树,并进行中序遍历
14、1)问题描述:从键盘读入一串整数构造一棵二叉排序树,并对得到的二叉排序述进行中序遍历,得到有序序列。2)实验要求:该二叉排序树以二叉链表存储3. 拼写检查1)问题描述:现在有一些英语单词需要做拼写检查,你的工具是一本词典。需要检查的单词,有的是词典中的单词,有的与词典中的单词相似,你的任务是发现这两种情况。单词 A 与单词 B相似的情况有三种: 删除单词 A 的一个字母后得到单词 B; 用任意一个字母替换单词 A 的一个字母后得到单词 B; 在单词 A 的任意位置增加一个字母后得到单词 B。2)实验要求:发现词典中与给定单词相同或相似的单词。实验报告格式及要求:实验报告格式及要求:按学校印刷的实验报告模版书写。 (具体要求见四)(具体要求见四)