- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《数据结构》大作业报告书
题 目; 查找算法实现与性能分析
完成时间:2012.6.4
学 号: 姓名: 专业班级:
1. 实习任务与目的
任务是:了解查找算法的应用和实现。知道各种算法之间的差别。自己动手编写一个程序。并且能够对各种查找方法的应用达到一定的了解及运用。
目的:通过这次的程序编写认识到自己的数据结构学习的基本的程度,在某种程度上可以给了自己的一个激励。让自己认识到自己的不足,并从中要进行改进。最重要的是能够知道查找的基本应用,及实现的过程。把数据结构应用到实际中。
2. 实习内容及过程
一,顺序查找
主要是在一个顺序存储的线性结构中进行查找数据。这个算法是查找中比较简单的算法。
进行顺序查找时,我们先将所要查找的数据存入一个线性结构中,然后设计一个指针从表尾开始进行查找,从尾到头进行查找,也可以是从表头开始查找。在本次实验中,我选择的是从表头开始查找,然后根据数据来进行判断是否能够查找的到。顺序查找的优点是算法简单,而且适应面广。但是它也有缺点,是它的平均查找长度较大,特别是当数据较大时,查找效率很低。
二,二分查找
二分查找主要是同时在顺序表的两头进行查找,这样子可以节省时间,提高效率。他是先对待查找的数据对顺序表进行划分,再在数据所属的范围内继续划分范围。直到找到数据或者比较完能够比较的数据才结束。二分查找的平均查找长度比顺序查找小,效率也较高。
三,二叉排序树
二叉排序树是一种动态的查找。在查找过程中,他是一种边查找边建树的过程。由于二叉排序树的性质,以根结点把二叉树分为了两个部分,而二叉排序树又是一种递归的思想,所以根据这个,可以对二叉排序树进行递归操作,这样可以减少算法的编写。
在二叉排序树的查找中是比较简单的,运用递归思想就可以了。
二叉排序树的删除有三种情况。
若所删除的结点是叶子结点,那么可以直接删除结点。
若所删除的结点只有左子树或右子树,此时只要令其左子树或右子树直接成为其双亲结点的左子树即可。
若所删除的结点左子树和右子树均不为空,那么有如图的两种方法:
3. 实验结果分析
一,顺序查找
顺序查找中,是在一个顺序表里进行查找。数据存贮时不是按照一定的大小关系排列的。但是他们的存贮地址是相连的。根据这一点可以很容易的找到所要查找的数据。当没有查找到时,偏会输出没有查找到。
二,二分查找
二分查找是在有序的顺序表里进行的查找。它的首要条件便是表中的数据是有序的。因此当我们进行查找时,我们遍在表中从两端向中间查找。这样子便缩小了查找的范围。当所需要查找的数据不存在时,此时的查找次数最多。当所需查找的数据是中间的那个数时,那么只需要查找一次便可以了。
三,二叉排序数
二叉排序数是一种具有递归思想的树结构。它的根结点的数据比左孩子大,比右孩子小。根据这一特性,二叉排序数的查找就可以运用递归的思想进行查找。当输入一个数时,先将它与根结点进行比较,根据大小而选择是在左子树上查找还是在右子树上查找。然后在递归的进行查找即可。当根节点的数值与所需查找的数相等时,那么就可以输出了。此时的查找次数最少。
4. 核心算法流程图
顺序表查找流程图
二分查找
5. 实习总结及体会
实验中体会最深的是在进行查找工作时,最主要的是要将思想弄懂,当你把思想弄懂的时候,那么才能编写出代码,若不然,你就不可能编写出正确的代码。由代码可以反映出你的思想。那么我们最首要的任务就是思想的理解。通过这次实习,我觉得数据结构是一个很神奇的计算。我们可以将我们脑海中的思想转化为语言,让电脑运行。当我们经过努力而使的程序成功运行时,那一种喜悦的心情只有自己能够深刻体会,而不能用言语来表达。经过这次实习,我渐渐喜欢上数据结构了,可能这样讲别人会觉得这很奇怪,但是只有真正做到自己动手实现一个成功的代码时,自己真的觉得很有成就感。虽然我编写一个程序要话费我很多的时间,而且到最后得到的程序也不是完美的,但是过程比胜利的那一刻更加耐人寻味。希望以后能够学好编程。
Low=mid+1
High=mid-1
ST[i]=key
No
Yes
End
返回i
ST[i],key
;
Start
i++
ST[i]=key
No
Yes
End
返回i
初始位置ST[1],key=x
Start
您可能关注的文档
- 第5章 基本逻辑指令及其应用.ppt
- 第7章 S7-200系列PLC基本指令.ppt
- 第二章 8086基本指令系统22.ppt
- 第二章 G指令编程基础.ppt
- 第二章 Linux基础命令.ppt
- 第二章 基础准备及入门.ppt
- 第六章 基本指令与编程.ppt
- 第七章 PLC的基本逻辑指令.ppt
- 第三章 Win32汇编语言-汇编语言程序设计基础-指令系统.ppt
- 第四章_PLC的基本指令系统.ppt
- 中国农业科学院农业资源与农业区划研究所2024年度公开招聘笔试备考题库及答案详解1套.docx
- 中国城市规划设计研究院2025年度公开招聘笔试模拟试题带答案详解.docx
- 2025年银川市公安局面向宁夏警官职业学院招聘285名警务辅助人员笔试模拟试题及完整答案详解1套.docx
- 2025年衢州市公安局第一期招聘54名警务辅助人员笔试模拟试题含答案详解.docx
- 2025年辽宁沈阳理工大学招聘高层次人才142人笔试模拟试题及答案详解1套.docx
- 中国民航科学技术研究院2024年度面向社会公开招聘工作人员笔试模拟试题及答案详解一套.docx
- 中国地质科学院矿产资源研究所2025年度公开招聘工作人员(第一批)笔试模拟试题及参考答案详解一套.docx
- 中国地质科学院地质力学研究所2024年度社会在职人员公开招聘笔试备考题库及答案详解1套.docx
- 中国疾病预防控制中心2024年度公开招聘学校卫生领域学科带头人笔试备考题库参考答案详解.docx
- 中国热带农业科学院南亚热带作物研究所2025年第二批公开招聘工作人员笔试模拟试题及答案详解一套.docx
文档评论(0)