ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:438.75KB ,
资源ID:25165662      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25165662.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构实验讲义.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构实验讲义.docx

1、数据结构实验讲义实验一 实验题目:运动会成绩统计实验目的:(1)掌握结构体类型数组的概念和使用;(2)掌握枚举类型的概念与使用;(3)设计并掌握算法,学会分析算法并培养用算法解决实际问题的能力。实验要求:(1)设计相应原始表格(比赛的成绩),选择恰当的数据结构;(2)统计各院校的男、女总分和团体总分,并输出。实验内容和实验步骤:(由学生填写)假设有A、B、C、D、E五个高校进行田径比赛,各院校的单项成绩均已存入计算机,并构成一张表,表的每一行的形式为:项目名称 性别 校名 成绩 得分编程统计各院校的男、女总分和团体总分,并输出。#define NULL 0typedef struct char

2、 *sport; enummale,female gender; char schoolname; char *result; int score; resulttype;typedef struct int malescore; int femalescore; int totalscore; scoretype;实验用测试数据和相关性分析:(由学生填写)实验总结:(由学生填写) 实验总结:(由学生填写)实验四实验题目:一元稀疏多项式运算实验目的:设计并掌握算法,学会分析算法并培养用算法解决实际问题的能力。实验要求(1)用带头结点的单链表做存储结构;(2)构造两个多项式,实现相加和相乘。实验

3、内容和实验步骤:(由学生填写)用C语言编程实现一元稀疏多项式加、减、乘运算。实验用测试数据和相关性分析:(由学生填写)实验总结:(由学生填写) 实验五 实验题目:栈的应用实验目的:1、使学生深入了解堆栈的特性,以便在遇到实际问题时灵活运用堆栈知识。2、巩固堆栈数据结构的构造方法。实验要求:1、掌握堆栈的逻辑结构和存储结构。2、熟练掌握堆栈的出栈、入栈等操作。实验内容和实验步骤:(由学生填写)用C语言编程实现数制转换和算术表达式的求值。1、算法分析将十进制数N和其它d进制数的转换是计算机实现计算的基本问题,其解决方案很多,其中最简单方法基于下列原理:即除d取余法。例如:(1348)10=(250

4、4)8NN div 8N mod 81348 168 416821021 2 520 2从中我们可以看出,最先产生的余数4是转换结果的最低位,这正好符合栈的特性即后进先出的特性。所以可以用顺序栈来模拟这个过程。2、算法如下struct nodeint data; struct node *link;typedef struct node NODE;NODE *top=NULL;void conversion(int x)while(x0)push(top,x%8); x=x/8;while(!stackempty(top) /* stackempty( )为判断堆栈是否为空函数*/x=pop(

5、s);printf(“%d”,x);实验用测试数据和相关性结果分析:(由学生填写) 实验总结:(由学生填写)实验六 实验题目:队列的应用实验目的:(1)、使学生深入了解队列特性,以便遇到实际问题时灵活运用队列知识。(2)、巩固队列结构的构造方法。(3)设计并掌握算法,理解队列的广泛应用,从而培养用算法解决实际问题的能力。实验要求:(1)、掌握队列的逻辑结构和存储结构。(2)、熟练掌握队列的出队、入队等操作。实验内容和实验步骤:用C语言编程实现迷宫问题求解。算法分析:迷宫的定义如下:#define m 6 /* 迷宫的实际行 */#define n 8 /* 迷宫的实际列 */int maze

6、m+2n+2 ;mazeij=0或1; 其中:0表示通路,1表示不通,当从某点向下试探时,中间点有8个方向可以试探,(见图3.4)而四个角点有3个方向,其它边缘点有5个方向,为使问题简单化我们用mazem+2n+2来表示迷宫,而迷宫的四周的值全部为1。Move数组定义如下:typedef struct int x,y item ; item move8 ;本算法要求找一条迷宫的最短路径,算法的基本思想为:从迷宫入口点(1,1)出发,向四周搜索,记下所有一步能到达的坐标点;然后依次再从这些点出发,再记下所有一步能到达的坐标点,依此类推,直到到达迷宫的出口点(m,n)为止,然后从出口点沿搜索路径回

7、溯直至入口。这样就找到了一条迷宫的最短路径,否则迷宫无路径。如何存储搜索路径。在搜索过程中必须记下每一个可到达的坐标点,以便从这些点出发继续向四周搜索。由于先到达的点先向下搜索,故引进一个“先进先出”数据结构-队列来保存已到达的坐标点。到达迷宫的出口点(m,n)后,为了能够从出口点沿搜索路径回溯直至入口,对于每一点,记下坐标点的同时,还要记下到达该点的前驱点,因此,用一个结构数组sqnum作为队列的存储空间,因为迷宫中每个点至多被访问一次,所以num至多等于m*n。sq的每一个结构有三个域:x,y和pre,其中x,y分别为所到达的点的坐标,pre为前驱点在sq中的坐标,是一个静态链域。除sq外

8、,还有队头、队尾指针:front和rear用来指向队头和队尾元素。队的定义如下:typedef struct int x,y; int pre; sqtype;sqtype sqnum;int front,rear;初始状态,队列中只有一个元素sq记录的是入口点的坐标(,),因为该点是出发点,因此没有前驱点,pre域为,队头指针front和队尾指针rear均指向它,此后搜索时都是以front所指点为搜索的出发点,当搜索到一个可到达点时,即将该点的坐标及front所指点的位置入队,不但记下了到达点的坐标,还记下了它的前驱点。front所指点的个方向搜索完毕后,则出队,继续对下一点搜索。搜索过程中

9、遇到出口点则成功,搜索结束,打印出迷宫最短路径,算法结束;或者当前队空即没有搜索点了,表明没有路径算法也结束。实验用测试数据和相关性分析:(由学生填写)实验总结:(由学生填写)实验七 实验题目:串的基本运算实验目的:(1)掌握串在顺序存储结构下的基本运算;(2)掌握串模式匹配的BF算法和KMP算法;(3)设计并掌握算法,理解串的具体应用,从而培养用算法解决实际问题的能力。实验要求:(1)、掌握串的逻辑结构及顺序存储结构;(2)、熟练掌握串的一些基本运算。实验内容和实验步骤:(由学生填写)(1)求两个串的最长公共子串;(2)串模式匹配的BF算法和KMP算法实现。(3)、实现两个串的最长公共子串。实验用测试数据和相关性分析:(由学生填写)实验总结:(由学生填写) 实验内容和实验步骤:(由学生填写) 实验用测试数据和相关性结果分析:(由学生填写) 实验总结:(由学生填写)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1