淮海工学院计算机科学系.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
淮海工学院计算机科学系 实验报告书 课 程名: 数据结构 题 目: 实验五 查找、排序的应用实验 班 级: 网络061 学 号: 110612114 姓 名: 陆志钦 评语: 评语: 成绩: 指导教师: 批阅时间: 年 月 日 《数据结构》实验报告 - PAGE 14 - 1实验内容或题目 实验题目:查找、排序的综合实验 实验内容: 1)取N(N=1000)个数据,在各种排序方法中选择3~5种对这N个数据进行排序,并对你所用的排序方法进行时间复杂度的分析; 2)对上面已排序的N个数据进行查找,至少用两种查找算法实现(其中静态查找至多选一种),并计算出所用查找算法的ASL 。 2目的与要求 实验目的: 1)通过实验能够掌握排序的各种方法,并能够分析各种排序方法的效率; 2)通过实验能够掌握查找的若干算法,并能够计算各种查找方法的ASL; 3)通过实验能够综合运用所学知识,并应用于实际,灵活地解决实际问题。 实验要求: 3实验步骤 资料搜集与分析 查找表: 是由同一类型的数据元素(或 HYPERLINK /2005/05/11/13424.html \l example#example 记录)构成的集合。 查找表的操作: 1、查询某个“特定的”数据元素是否在查找表中。 2、检索某个“特定的”数据元素的各种属性。 3、在查找表中插入一个数据元素; 4、从查找表中刪去某个数据元素。 静态查找表 对查找表只作前两种操作 动态查找表 在查找过程中查找表元素集合动态改变 关键字 是数据元素(或记录)中某个 HYPERLINK /2005/05/11/13424.html \l example#example 数据项的值 HYPERLINK /2005/05/11/13424.html \l example#example 主关键字 可以唯一的地标识一个记录 次关键字 用以识别若干记录 查找 根据给定的某个值,在查找表中确定一个其关键字等于给定的记录或数据元素。若表中存在这样的一个记录,则称查找是成功的,此时查找的结果为给出整个记录的信息,或指示该记录在查找表中的位置;若表中不存在关键字等于给定值的记录,则称查找不成功。 平均查找长度: 为确定记录在查找表中的位置,需用和给定值进行比较的关键字个数的期望值称为查找算法在查找成功时的平均查找长度。 其中:Pi为查找表中第i个记录的概率,且; Ci为找到表中其关键字与给定值相等的第i个记录时,和给定值已进行过比较的关键字个数。 等概率条件下有: 假设查找成功与不成功的概率相同: /user1/3020/archives/2006/10155.html /2005/05/11/13424.html 需求分析 ?有关排序和查找的一个主要问题就是速度。这个问题经常被人们忽视,因为与程序的其余部分相比,排序或查找所花费的时间几乎可以被忽略。然而,对大多数排序或查找应用来说,你不必一开始就花很多精力去编制一段算法程序,而应该先在现成的算法中选用一种最简单的(见3.1和3.4),当你发现所用的算法使程序运行很慢时,再换用一种更好的算法(请参见下文中的介绍)。 ??? 下面介绍一种判断排序或查找算法的速度的方法。 首先,引入一个算法的复杂度的概念,它指的是在各种情况(最好的、最差的和平均的)下排序或查找需要完成的操作次数,通过它可以比较不同算法的性能。 ??? 算法的复杂度与排序或查找所针对的数据集的数据量有关,因此,引入一个基于数据集数据量的表达式来表示算法的复杂度。 ??? 最快的算法的复杂度O(1),它表示算法的操作次数与数据量无关。复杂度O(N)(N表示数据集的数据量)表示算法的操作次数与数据量直接相关。复杂度O(logN)介于上述两者之间,它表示算法的操作次数与数据量的对数有关。复杂度为O(NlogN)(N乘以logN)的算法比复杂度为O(N)的算法要慢,而复杂度为O(N2)的算法更慢。 ??? 注意:如果两种算法的复杂度都是O(logN),那么logN的基数较大的算法的速度要快些,在本章的例子中,logN的基数均为10。。 数据结构与算法设计 直接插入排序: void Straight_insert_sort(r,n

文档评论(0)

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

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

1亿VIP精品文档

相关文档