C语言版数据结构实验报告_第1页
C语言版数据结构实验报告_第2页
C语言版数据结构实验报告_第3页
C语言版数据结构实验报告_第4页
C语言版数据结构实验报告_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、苏州科技学院数据结构构(C语语言版)实验报告告专业班级级测绘009111学 号 00920011551300姓 名朱朱辉实习地点点C1-2033 指导教师师史守正正 实验四 图程序设计计的基本本思想,原理和和算法描描述:图是一种种较线性性表和树树更加复复杂的一一种数据据结构,在图形形结构中中,结点点之间的的关系可可以是任任意的,图中任任意两个个数据元元素之间间都可能能相关,图主要要有无向向图,有有向图等等(1)建建立无向向网的邻邻接矩阵阵存储并并输出,参考程程序清单单,实现现无向图图的邻接接矩阵表表示。(2)建建立图的的邻接表表存储并并在此基基础上实实现图的的深度优优先遍历历和广度度优先遍遍历

2、备注:无无向图已已完成,无向网网需要自自己建立立(参照照算法77.2);参照照算法77.4, 7.5,77.6完完成图的的深度遍遍历,广广度遍历历;请添添加适当当的注释释。二、源程程序及注注释(打打包上传传):三、运行行输出结结果:四、调试试和运行行程序过过程中产产生的问问题及采采取的措措施:在程序编编辑的过过程中,有许多多地方出出现不能能顺序运运行的,还有代代码出现现遗漏出出错,图图的遍历历是重点点但因为为知识的的残缺不不能完整整的编译译出来,又或者者编译的的程序不不能正确确的得到到结果,再通过过多人合合作共同同讨论后后得到了了满意的的解决。五、对算算法的程程序的讨讨论、分分析,改改进设想想

3、,其它它经验教教训:经过这次次这么复复杂的程程序实验验,我终终于发现现了调用用函数的的巨大优优越性,以前遇遇到都是是很短的的程序,感觉调调用有点点多余,但复杂杂的程序序时,如如果不采采用调用用的话,会使程程序非常常的乱,改程序序时不知知道从哪哪改,调调用函数数能够更更好使程程序简洁洁话,层层次话,更加容容易让人人看懂这这次试验验的逻辑辑性给了了我们很很大启发发通过本本次实验验让我对对图有了了更深刻刻的认识识,再通通过多次次的更改改后终于于将实验验做出来来,在实实验中也也出现了了许多问问题,有有不出结结果,有有不能运运行的,但最终终只要努努力都会会搞定的的实验五 查查找一、程序序设计的的基本思思

4、想,原原理和算算法描述述:实现二叉叉排序树树上的查查找、插插入、删删除算法法。具体体实现要要求:用二叉链链表做存存储结构构,输入入键值序序列,利利用查找找、插入入算法建建立一棵棵二叉排排序树。按中序遍遍历这棵棵二叉排排序树。在二叉排排序树上上插入结结点。删除二叉叉排序树树上的结结点。二、源程程序及注注释(打打包上传传):三、运行行输出结结果:四、调试试和运行行程序过过程中产产生的问问题及采采取的措措施:查找是一一种常用用到的方方法在程程序中十十分常见见,在程程序运行行中。由由于对遍遍历了解解的不深深刻不能能够完全全领悟其其中的运运行原理理,所以以出现没没有结果果输出的的现象。在书中中不断的的了

5、解分分析下从从而得到到了解决决,书本本的知识识很有作作用。五、对算算法的程程序的讨讨论、分分析,改改进设想想,其它它经验教教训:经过这次次这么复复杂的程程序实验验,我终终于发现现了调用用函数的的巨大优优越性,以前遇遇到都是是很短的的程序,感觉调调用有点点多余,但复杂杂的程序序时,如如果不采采用调用用的话,会使程程序非常常的乱,改程序序时不知知道从哪哪改,调调用函数数能够更更好使程程序简洁洁话,层层次话,更加容容易让人人看懂这这次试验验的逻辑辑性给了了我们很很大启发发,在程程序不断断复杂的的今天只只有很好好了解程程序的过过程,把把握程序序中心思思想才能能够更好好的完善善研发程程序,在在不断的的累

6、积中中达到更更高的层层次。实验六 排排序程序设计计的基本本思想,原理和和算法描描述排序是计计算机程程序设计计中的一一种重要要操作。它的主主要思想想是将一一个数据据元素的的任意序序列,比比较多种种排序的的优劣主主要是看看它排序序的效率率。重新新排列成成一个按按关键字字有序的的序列,编写主主函数,分别实实现直接接插入、冒泡排排序(算算法在PP16)、快速速排序、简单选选择排序序、堆排排序等排排序算法法。直接插入入排序:是一种种最简单单的排序序,是将将一个记记录插入入到已排排好序的的初始排排列中冒泡排序序;依次次比较相相邻的两两个数,将小数数放在前前面,大大数放在在后面。即在第第一趟:首先比比较第1

7、1个和第第2个数数,将小小数放前前,大数数放后。然后比比较第22个数和和第3个个数,将将小数放放前,大大数放后后,如此此继续,直至比比较最后后两个数数,将小小数放前前,大数数放后。至此第第一趟结结束,将将最大的的数放到到了最后后。在第第二趟:仍从第第一对数数开始比比较(因因为可能能由于第第2个数数和第33个数的的交换,使得第第1个数数不再小小于第22个数),将小小数放前前,大数数放后,一直比比较到倒倒数第二二个数(倒数第第一的位位置上已已经是最最大的),第二二趟结束束,在倒倒数第二二的位置置上得到到一个新新的最大大数(其其实在整整个数列列中是第第二大的的数)。如此下下去,重重复以上上过程,直至

8、最最终完成成排序。 由于于在排序序过程中中总是小小数往前前放,大大数往后后放,相相当于气气泡往上上升,所所以称作作冒泡排排序。 用二二重循环环实现,外循环环变量设设为i,内循环环变量设设为j。外循环环重复99次,内内循环依依次重复复9,88,.,11次。每每次进行行比较的的两个元元素都是是与内循循环j有有关的,它们可可以分别别用aj和和ajj+1标识,i的值值依次为为1,22,.,99,对于于每一个个i, j的值值依次为为1,22,.100-i。二、源程程序及注注释(打打包上传传):三、运行行输出结结果:四、调试试和运行行程序过过程中产产生的问问题及采采取的措措施:刚开始看看到程序序,太长长,一点点也看不不懂它的的意思,无从下下手的感感觉,这这是就要要考验人人的耐心心,慢慢慢看,结结合书里里所讲的的知识,终于理理解整个个程序,还有递递归的使使用,要要注意,初始时时的状态态以及如如何使用用递归,注意普普遍性,思考时时从普通通的开始始。五、对算算法的程程序的讨讨论、分分析,改改进设想想,其它它经验教教训:排序是非非常重要要的一种种技术手手段,能能够提高高效率,简化过过程,选选择何种种排序方方法需要要我们更更好的理理解各种种排序方方法的主主要思想想及原理理,这对对我们以以后工作作的帮组组是非常常大的,经过这这次这么么复杂的的程序实实验,我我终于发发现了调调用函数数的巨

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论