《数据结构》上机实验要求 (1)

时间:2024.4.29

《数据结构与算法》课程实验内容与要求

一、 课程简介

本课程着重讲述 ①线性结构、树型结构、图等典型数据结构的逻辑特点、存储结构及其相应的基本算法。②各种查找算法 ③典型内部排序算法。

二、 实验的作用、地位和目的

数据结构是一门技术基础课,通过实验深刻理解各种逻辑结构、存储结构的特性,培养为实际问题分析其数据对象、基本操作,选择逻辑结构、存储结构灵活应用基本算法,设计出具有专业水准的应用程序的能力。

三、 实验方式与要求

①首先要求学生在课下完成问题分析、算法设计,基本完成程序设计。

②实验时,每位学生使用一台微机,独立调试,完成程序。

③程序调试好后,由指导教师检测运行结果,并要求学生回答相关的问题。教师评出检查成绩。 ④学生记录程序的输入数据,运行结果及源程序。

⑤在一周内完成实验报告。

四、 考核方式与实验报告要求

实验成绩由指导教师根据学生的实验完成情况、源程序质量、回答问题情况、实验报告质量、实验纪律等方面给分。

学生在实验后的一周内提交实验报告。实验报告首页按学校统一印刷的实验报告模版书写。实验报告中应包括如下内容:

?

? 实验内容按任课教师下达的实验任务填写(具体实验题目和要求); 实验过程与实验结果应包括如下主要内容:

? 算法设计思路简介

? 算法描述:可以用自然语言、伪代码或流程图等方式

? 算法的实现和测试结果:包括算法运行时的输入、输出,实验中出现的问题及解决办

法等

?

? 源程序清单与实验结果或其它说明可打印,并装订在实验报告首页之后。 实验报告雷同者,本次实验成绩为0分或雷同实验报告平分得分

五、 实验的软硬件环境

硬件环境:PⅡ以上微型计算机

软件环境:Windows98/2000, VC++6.0或turbo C

六、 实验内容安排

实验一 线性表应用

实验时间:20xx年3月26日,10:00-13:00(地点:7-220)

实验目的: 理解线性表的逻辑特点;掌握顺序表、链表存储结构,以及线性表的基本操作,如插入、删除、查找,以及线性表合并等操作在顺序存储结构和链式存储结构上的实现算法,并能够在实际问题背景下的灵活运用线性表来解决问题,实现相应算法。

具体实验题目与要求:(任课教师根据实验大纲自己指定)

每位同学可从下面题目中选择1-2题实现:

1.一元稀疏多项式简单的计算器

1)问题描述:用线性表表示一元稀疏多项式,设计一个一元多项式运算器

2)要求: (1)采用单链表存储结构一元稀疏多项式

(2)输入并建立多项式

(3)输出多项式

(4)实现多项式加、减运算

2.单链表基本操作练习

1)问题描述:在主程序中提供下列菜单:

1…建立链表 2…连接链表 3…输出链表 0…结束

2)实验要求:算法中包含下列过程,分别完成相应的功能:

CreateLinklist(): 从键盘输入数据,创建单链表

ContLinklist():将前面建立的两个单链表首尾相连

OutputLinklist():输出显示单链表

3.约瑟夫环问题

1)问题描述:有编号为1, 2…n 的 n 个人按顺时针方向围坐一圈,每人持有一个正整数

密码。开始给定一个正整数 m,从第一个人按顺时针方向自1开始报数,报到m者出列,不再参加报数,这时将出列者的密码作为m,从出列者顺时针方向的下一人开始重新自1开始报数。如此下去,直到所有人都出列。试设计算法,输出出列者的序列。

2)要求: 采用顺序和链式两种存储结构实现

实验报告格式及要求:按学校印刷的实验报告模版书写。(具体要求见四)

实验二 栈与队列应用

实验时间:20xx年4月9日10:00-13:00(地点:7-220)

实验目的:理解栈和队列的逻辑特点;掌握栈和队列基本操作的实现,并能达到在实际问题背景下的灵活运用栈或队列结构解决问题的程度。

具体实验题目:(任课教师根据实验大纲自己指定)

每位同学完成下面2个题目:

1.十进制数与N进制数据的转换

1)问题描述:将从键盘输入的十进制数转换为N(如二进制、八进制、十六进制)进制数据。

2)要求: 利用顺序栈实现数制转换问题

2.算术表达式求值算法

1)问题描述:从键盘输入一个算术表达式并输出它的结果

2)要求:算术表达式可包含加、减、乘、除、十进制整数和小括号,利用栈实现

实验报告格式及要求:按学校印刷的实验报告模版书写。(具体要求见四)

实验三 二叉树操作

实验时间:20xx年4月30日 10:00-13:00(地点:7-220)

实验目的:理解二叉树的逻辑特点和二叉树的性质;掌握二叉树的二叉链表存储结构,掌握二叉树的创建算法、遍历算法的递归与非递归实现。

具体实验题目:(任课教师根据实验大纲自己指定)

第1题为必做题,第2题为选做题目:

1.每位同学按下述要求实现相应算法:以二叉链表为存储结构,实现二叉树的创建、遍历算法

1)问题描述:在主程序中提供下列菜单:

1…建立树

2…前序遍历树 3…中序(非递归)遍历树 0…结束 4…后序遍历树

2)实验要求:

① 定义下列过程:

CreateTree(): 按从键盘输入的前序序列,创建树

PreOrderTree():前序遍历树(递归)

InOrderTree():中序(非递归)遍历树

LaOrderTree(): 后序遍历树(递归)

② 每位同学在实验过程中要单步运行程序,跟踪二叉树的创建过程与前序遍历的递归过程。

2. 树的转换:我们都知道用“孩子兄弟”表示法可以将一棵一般的树转换为二叉树。请设计算法将一棵树用这种方法转换为二叉树,并输出转换前和转换后树的前序遍历序列。

实验报告格式及要求:按学校印刷的实验报告模版书写。(具体要求见四)

实验四 图的深度优先与广度优先遍历

实验时间:20xx年5月21日,10:00-13:00(地点:7-220)

实验目的:理解图的逻辑特点;掌握理解图的两种主要存储结构(邻接矩阵和邻接表),掌握图的构造、深度优先遍历、广度优先遍历算法。

具体实验题目:(任课教师根据实验大纲自己指定)

第1题为必做题,第2题为选做题目:

1. 每位同学按下述要求实现相应算法: 根据从键盘输入的数据创建图(图的存储结构可采用邻接矩阵或邻接表),并对图进行深度优先搜索和广度优先搜索

1)问题描述:在主程序中提供下列菜单:

1…图的建立

2…深度优先遍历图 3…广度优先遍历图 0…结束

2)实验要求:图的存储可采用邻接表或邻接矩阵;定义下列过程:

CreateGraph(): 按从键盘的数据建立图

DFSGrahp():深度优先遍历图

BFSGrahp():广度优先遍历图

2. 拓扑排序:给出一个图的结构,输出其拓扑排序序列(顶点序列用空格隔开),要求在同等条件下,编号小的顶点在前。

实验报告格式及要求:按学校印刷的实验报告模版书写。(具体要求见四)

实验五 查找算法应用

实验时间:20xx年6月18日 10:00-13:00(地点:7-220)

实验目的:理解二叉排序树、AVL树的查找、插入、删除、建立算法的思想及程序实现;掌握散列存储结构的思想,能选择合适散列函数,实现不同冲突处理方法的散列表的查找、建立。散列表等查找算法解决实际问题。

具体实验题目:(任课教师根据实验大纲自己指定)

每位同学可从下面题目中选择1-2题实现:

1.哈希表查找

1)问题描述:针对某个集体的“人名”构造哈希表,解决按“人名”进行查找的索引结构。

2)实验要求:要求表的平均查找长度不超过R(R可以从键盘输入确定),完成相应的建表和查表程序。

2.构造二叉排序树,并进行中序遍历

1)问题描述:从键盘读入一串整数构造一棵二叉排序树,并对得到的二叉排序述进行中序遍历,得到有序序列。

2)实验要求:该二叉排序树以二叉链表存储

3. 拼写检查

1)问题描述:现在有一些英语单词需要做拼写检查,你的工具是一本词典。需要检查的单词,有的是词典中的单词,有的与词典中的单词相似,你的任务是发现这两种情况。单词A与单词B相似的情况有三种:

① 删除单词A的一个字母后得到单词B;

② 用任意一个字母替换单词A的一个字母后得到单词B;

③ 在单词A的任意位置增加一个字母后得到单词B。

2)实验要求:发现词典中与给定单词相同或相似的单词。

实验报告格式及要求:按学校印刷的实验报告模版书写。(具体要求见四)


第二篇:《数据结构》上机实验要求(1)


《数据结构》课程实验内容与要求

一、 课程简介

本课程着重讲述 ①线性结构、树型结构、图等典型数据结构的逻辑特点、存储结构及其相应的基本算法。②各种查找算法 ③典型内部排序算法。

二、 实验的作用、地位和目的

数据结构是一门技术基础课,通过实验深刻理解各种逻辑结构、存储结构的特性,培养为实际问题分析其数据对象、基本操作,选择逻辑结构、存储结构灵活应用基本算法,设计出具有专业水准的应用程序的能力。

三、 实验方式与要求

①首先要求学生在课下完成问题分析、算法设计,基本完成程序设计。

②实验时,每位学生使用一台微机,独立调试,完成程序。

③程序调试好后,由指导教师检测运行结果,并要求学生回答相关的问题。教师评出检查成绩。 ④学生记录程序的输入数据,运行结果及源程序。

⑤在一周内完成实验报告。

四、 考核方式与实验报告要求

实验成绩由指导教师根据学生的实验完成情况、源程序质量、回答问题情况、实验报告质量、实验纪律等方面给分。

学生在实验后的一周内提交实验报告。实验报告首页按学校统一印刷的实验报告模版书写。实验报告中应包括如下内容:

?

? 实验内容按任课教师下达的实验任务填写(具体实验题目和要求); 实验过程与实验结果应包括如下主要内容:

? 算法设计思路简介

? 算法描述:可以用自然语言、伪代码或流程图等方式

? 算法的实现和测试结果:包括算法运行时的输入、输出,实验中出现的问题及解决办

法等

?

? 源程序清单与实验结果或其它说明可打印,并装订在实验报告首页之后。 实验报告雷同者,本次实验成绩为0分或雷同实验报告平分得分

五、 实验的软硬件环境

硬件环境:PⅡ以上微型计算机

软件环境:Windows98/2000, VC++6.0或turbo C

六、 实验内容安排

实验一 线性表应用

实验时间:20xx年4月1日,1-2节(地点:7-215)

实验目的: 理解线性表的逻辑特点;掌握顺序表、链表存储结构,以及线性表的基本操作,如插入、删除、查找,以及线性表合并等操作在顺序存储结构和链式存储结构上的实现算法,并能够在实际问题背景下的灵活运用线性表来解决问题,实现相应算法。

具体实验题目与要求:(任课教师根据实验大纲自己指定)

每位同学可从下面题目中选择1-2题实现:

1.一元稀疏多项式简单的计算器

1)问题描述:用线性表表示一元稀疏多项式,设计一个一元多项式运算器

2)要求: (1)采用单链表存储结构一元稀疏多项式

(2)输入并建立多项式

(3)输出多项式

(4)实现多项式加、减运算

2.单链表基本操作练习

1)问题描述:在主程序中提供下列菜单:

1…建立链表 2…连接链表 3…输出链表 0…结束

2)实验要求:算法中包含下列过程,分别完成相应的功能:

CreateLinklist(): 从键盘输入数据,创建单链表

ContLinklist():将前面建立的两个单链表首尾相连

OutputLinklist():输出显示单链表

3.约瑟夫环问题

1)问题描述:有编号为1, 2…n 的 n 个人按顺时针方向围坐一圈,每人持有一个正整数

密码。开始给定一个正整数 m,从第一个人按顺时针方向自1开始报数,报到m者出列,不再参加报数,这时将出列者的密码作为m,从出列者顺时针方向的下一人开始重新自1开始报数。如此下去,直到所有人都出列。试设计算法,输出出列者的序列。

2)要求: 采用顺序和链式两种存储结构实现

实验报告格式及要求:按学校印刷的实验报告模版书写。(具体要求见四)

实验二 栈与队列应用

实验时间:20xx年4月8日 1-2节(地点:7-219)

实验目的:理解栈和队列的逻辑特点;掌握栈和队列基本操作的实现,并能达到在实际问题背景下的灵活运用栈或队列结构解决问题的程度。

具体实验题目:(任课教师根据实验大纲自己指定)

每位同学完成下面1-2个题目:

1.十进制数与N进制数据的转换

1)问题描述:将从键盘输入的十进制数转换为N(如二进制、八进制、十六进制)进制数据。

2)要求: 利用顺序栈实现数制转换问题

2.算术表达式求值算法

1)问题描述:从键盘输入一个算术表达式并输出它的结果

2)要求:算术表达式可包含加、减、乘、除、十进制整数和小括号,利用栈实现

实验报告格式及要求:按学校印刷的实验报告模版书写。(具体要求见四)

实验三 二叉树操作

实验时间:20xx年4月24日 10:00 -13:00(地点:7-219)

实验目的:理解二叉树的逻辑特点和二叉树的性质;掌握二叉树的二叉链表存储结构,掌握二叉树的遍历算法的递归与非递归实现

具体实验题目:(任课教师根据实验大纲自己指定)

每位同学按下述要求实现相应算法:以二叉链表为存储结构,实现二叉树的创建、遍历算法

1)问题描述:在主程序中提供下列菜单:

1…建立树

2…前序遍历树 3…中序(非递归)遍历树 0…结束 4…后序遍历树

2)实验要求:定义下列过程:

CreateTree(): 按从键盘输入的前序序列,创建树

PreOrderTree():前序遍历树(递归)

InOrderTree():中序(非递归)遍历树

LaOrderTree(): 后序遍历树(递归)

实验报告格式及要求:按学校印刷的实验报告模版书写。(具体要求见四)

实验四 图的深度优先与广度优先遍历

实验时间:20xx年5月22日,10:00 -13:00(地点:7-220)

实验目的:理解图的逻辑特点;掌握理解图的两种主要存储结构(邻接矩阵和邻接表),掌握图的构造、深度优先遍历、广度优先遍历算法。

具体实验题目:(任课教师根据实验大纲自己指定)

每位同学按下述要求实现相应算法: 根据从键盘输入的数据创建图(图的存储结构可采用邻接矩阵或邻接表),并对图进行深度优先搜索和广度优先搜索

1)问题描述:在主程序中提供下列菜单:

1…图的建立

2…深度优先遍历图 3…广度优先遍历图 0…结束

2)实验要求:图的存储可采用邻接表或邻接矩阵;定义下列过程:

CreateGraph(): 按从键盘的数据建立图

DFSGrahp():深度优先遍历图

BFSGrahp():广度优先遍历图

实验报告格式及要求:按学校印刷的实验报告模版书写。(具体要求见四)

实验五 查找算法应用

实验时间:20xx年6月5日 10:00 -13:00(地点:7-220)

实验目的:理解二叉排序树、AVL树的查找、插入、删除、建立算法的思想及程序实现;掌握散列存储结构的思想,能选择合适散列函数,实现不同冲突处理方法的散列表的查找、建立。散列表等查找算法解决实际问题。

具体实验题目:(任课教师根据实验大纲自己指定)

每位同学可从下面题目中选择1-2题实现:

1.哈希表查找

1)问题描述:针对某个集体的“人名”构造哈希表,解决按“人名”进行查找的索引结构。

2)实验要求:要求表的平均查找长度不超过R,完成相应的建表和查表程序。

2.构造二叉排序树,并进行中序遍历

1)问题描述:从键盘读入一串整数构造一棵二叉排序树,并对得到的二叉排序述进行中序遍历,得到有序序列。

2)实验要求:该二叉排序树以二叉链表存储

实验报告格式及要求:按学校印刷的实验报告模版书写。(具体要求见四)

更多相关推荐:
数据结构上机实验报告

实验一线性表的基本操作实验目的学习掌握线性表的顺序存储结构链式存储结构的设计与操作对顺序表建立插入删除的基本操作对单链表建立插入删除的基本操作算法实验内容1顺序表的实践1建立4个元素的顺序表ssqlist123...

数据结构上机实验答案

数据结构实验指导书答案实验一1请编写函数intfunintaintb函数的功能是判断两个指针a和b所指存储单元的值的符号是否相同若相同函数返回1否则返回0这两个存储单元中的值都不为0在主函数中输入2个整数调用函...

数据结构上机实验报告

空间数据结构基础上机实验报告20xx姓名班级地信121学号07122857环境与测绘学院级实验报告1C面向对象程序设计范例1二维坐标点point的C描述实验目的用面向对象的方法定义一个简单的抽象数据结构本例实验...

数据结构第一次上机实验报告

数据结构第一次上机实验报告线性表实验要求1实现顺序表结构的创建插入删除查找等操作2利用上述顺序表操作实现如下程序建立两个顺序表表示的集合集合中无重复的元素并求这样的两个集合的并交和源程序C实现visualstu...

数据结构上机实验报告

计算机科学与技术学院数据结构教程实验报告20xx20xx学年第2学期学生姓名学生专业学生班级学生学号20xx65实验报告一设计人员相关信息姓名学号班级设计日期20xx年6月5日上机环境VisualC60二程序设...

数据结构上机报告实验一

数据结构上机报告年月日姓名学号同组成员1实验题目及要求实验一编写一个程序实现顺序表的各种基本运算并在此基础上完成以下功能1初始化顺序表2依次采用尾插入法插入abcde元素3输出顺序表L4输出顺序表L的长度5判断...

数据结构实验报告格式1

数据结构实验报告格式实验1线性表的基本操作一实验目的1掌握使用VC上机调试线性表的基本方法2掌握线性表的基本操作插入删除查找等运算在顺序和链式存储结构上的实现二实验内容线性表的基本操作的实现三实验要求1认真阅读...

数据结构上机实验指导书

计算机系第一部分算法与数据结构课程实验概述一实验目的算法与数据结构是计算机专业的主干课程和必修课程之一其目的是让大家学习分析和研究数据对象特征掌握数据组织方法和计算机的表示方法以便选择合适的数据逻辑结构和存储结...

太原理工大学数据结构实验报告

数据结构实验报告课程名称数据结构实验项目线性表树图查找内排序实验地点专业班级物联网学号学生姓名指导教师周杰伦20xx年月日实验一线性表目的与要求本次实习的主要目的是为了使学生熟练掌握线性表的基本操作在顺序存储结...

数据结构实验报告

专业年级学号学生姓名指导老师华中师范大学信息管理系编数据结构实验报告I实验要求1每次实验中有若干习题每个学生至少应该完成其中的两道习题2上机之前应作好充分的准备工作预先编好程序经过人工检查无误后才能上机以提高上...

数据结构树的实验报告

数据结构实验报告目的要求1掌握二叉树的存储实现2掌握二叉树的遍历思想3掌握二叉树的常见算法的程序实现实验内容1输入字符序列建立二叉链表2中序遍历二叉树递归算法3中序遍历二叉树非递归算法最好也能实现先序后序非递归...

数据结构实验报告

武汉大学国际软件学院实验报告课程名称专业年级姓名学号协作者实验学期课堂时数填写时间月6小结对本次实验的心得体会所遇到的问题及解决方法其他思考和建议7指导教师评语及成绩指导教师依据学生的实际报告内容用简练语言给出...

数据结构上机实验报告(39篇)