数据结构C语言版实验报告..docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构C语言版实验报告.

苏州科技学院 数据结构(C语言版) 实验报告 专业班级 测绘0911 学 号 0920115130 姓 名 朱辉 实习地点 C1-203 指导教师 史守正 实验四 图 程序设计的基本思想,原理和算法描述: 图是一种较线性表和树更加复杂的一种数据结构,在图形结构中,结点之间的关系可以是任意的,图中任意两个数据元素之间都可能相关,图主要有无向图,有向图等 (1)建立无向网的邻接矩阵存储并输出,参考程序清单,实现无向图的邻接矩阵表示。 (2)建立图的邻接表存储并在此基础上实现图的深度优先遍历和广度优先遍历 备注:无向图已完成,无向网需要自己建立(参照算法7.2);参照算法7.4, 7.5,7.6完成图的深度遍历,广度遍历;请添加适当的注释。 二、源程序及注释(打包上传): 三、运行输出结果: 四、调试和运行程序过程中产生的问题及采取的措施: 在程序编辑的过程中,有许多地方出现不能顺序运行的,还有代码出现遗漏出错,图的遍历是重点但因为知识的残缺不能完整的编译出来,又或者编译的程序不能正确的得到结果,再通过多人合作共同讨论后得到了满意的解决。 五、对算法的程序的讨论、分析,改进设想,其它经验教训: 经过这次这么复杂的程序实验,我终于发现了调用函数的巨大优越性,以前遇到都是很短的程序,感觉调用有点多余,但复杂的程序时,如果不采用调用的话,会使程序非常的乱,改程序时不知道从哪改,调用函数能够更好使程序简洁话,层次话,更加容易让人看懂这次试验的逻辑性给了我们很大启发通过本次实验让我对图有了更深刻的认识,再通过多次的更改后终于将实验做出来,在实验中也出现了许多问题,有不出结果,有不能运行的,但最终只要努力都会搞定的 实验五 查找 一、程序设计的基本思想,原理和算法描述: 实现二叉排序树上的查找、插入、删除算法。具体实现要求: 用二叉链表做存储结构,输入键值序列,利用查找、插入算法建立一棵二叉排序树。 按中序遍历这棵二叉排序树。 在二叉排序树上插入结点。 删除二叉排序树上的结点。 二、源程序及注释(打包上传): 三、运行输出结果: 四、调试和运行程序过程中产生的问题及采取的措施: 查找是一种常用到的方法在程序中十分常见,在程序运行中。由于对遍历了解的不深刻不能够完全领悟其中的运行原理,所以出现没有结果输出的现象。在书中不断的了解分析下从而得到了解决,书本的知识很有作用。 五、对算法的程序的讨论、分析,改进设想,其它经验教训: 经过这次这么复杂的程序实验,我终于发现了调用函数的巨大优越性,以前遇到都是很短的程序,感觉调用有点多余,但复杂的程序时,如果不采用调用的话,会使程序非常的乱,改程序时不知道从哪改,调用函数能够更好使程序简洁话,层次话,更加容易让人看懂这次试验的逻辑性给了我们很大启发,在程序不断复杂的今天只有很好了解程序的过程,把握程序中心思想才能够更好的完善研发程序,在不断的累积中达到更高的层次。 实验六 排序 程序设计的基本思想,原理和算法描述 排序是计算机程序设计中的一种重要操作。它的主要思想是将一个数据元素的任意序列,比较多种排序的优劣主要是看它排序的效率。重新排列成一个按关键字有序的序列,编写主函数,分别实现直接插入、冒泡排序(算法在P16)、快速排序、简单选择排序、堆排序等排序算法。 直接插入排序:是一种最简单的排序,是将一个记录插入到已排好序的初始排列中 冒泡排序;依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。   由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。   用实现,外循环变量设为i,内循环变量设为j。外循环重复9次,内循环依次重复9,8,...,1次。每次进行比较的两个元素都是与内循环j有关的,它们可以分别用a[j]和a[j+1]标识,i的值依次为1,2,...,9,对于每一个i, j的值依次为1,2,...10-i。 四、调试和运行程序过程中产生的问题及采取的措施: 刚开始看到程序,太长,一点也看不懂它的意思,无从下手的感觉,这是就要考验人的耐心,慢慢看,结合书里所讲的

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档