大学计算机 数据结构基础.pptVIP

  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文档。上传文档
查看更多
大学计算机数据结构基础大学计算机数据结构基础

* A * * 4 * * * 9-6=3 15-9+6=12 * * B * * GDBFKCA * EDBCA * 大学计算机基础 * 二分查找的基本方法是: 首先将线性表的中间元素与指定元素进行比较,如果相等,则查找成功, 如果不相等,需要进一步判断被查元素与中间元素的大小, 如果被查元素大于中间元素,则要在元素值较大的子表中继续使用二分法继续查找, 如果被查元素小于中间元素,则要在元素值较小的子表中继续使用二分法继续查找,直到查找成功或查找失败。 * 大学计算机基础 * 二分法查找的优缺点: 优点:算法简单。 缺点:查找效率比较低。 用二分方法查找长度为n的有序线性表,最坏情况下比较次数为?log2n?+1次。 * 大学计算机基础 * 练习题 有一个有序线性表(4,7,8,14,16,19,23,25,33,36,37)中,用二分查找法查找元素15,需要比较的次数为多少,查找33的比较次数是多少? 答案:查找15比较4次 查找33比较2次 * 大学计算机基础 * 插入类排序 交换类排序 选择类排序 §5.7 排序 排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。 * 大学计算机基础 * 1. 插入类排序 主要思想: 每次将一个待排序列中的元素插入到已经有序的序列的适当位置,使插入后的序列仍然是个有序序列,直到将待排序列的所有元素都插入完为止。 常用的插入类排序是: 简单插入排序 希尔排序 * 大学计算机基础 * 简单插入排序 简单插入排序,也叫直接插入排序,是一种简单的排序方法。 简单插入排序的基本思想是: 将待排序列的第一个元素看作一个有序序列, 在有序表中找到第二个元素应插入的位置,移动相应元素空出该位置,然后将待排序列的第二个元素放置于此,从而使插入新元素后的线性表仍然保持有序, 依次类推,将待排序列后面的元素逐个插入有序序列,直到最后。 * 大学计算机基础 * 简单插入排序过程: 初始序列 [35] 28 46 17 15 一次插入后 [28 35] 46 17 15 二次插入后 [28 35 46 ] 17 15 三次插入后 [17 28 35 46] 15 最后结果 [15 17 28 35 46] 最坏情况下,需要比较的次数为n(n-1)/2次。 时间复杂度: T(n)=O(n2) * 大学计算机基础 * 希尔排序 希尔排序又称缩小增量排序,它是对简单插入排序的改进。 基本思想是: 首先按增量将待排序列的元素分组, 对同一分组内的元素执行插入排序, 然后逐渐缩小增量将待排序列分组, 执行上述过程,直到增量为1时,最后进行一次插入排序,此时得到的序列就是一个有序序列。 * 大学计算机基础 * 例如:1 2 3 4 5 6 7 8 9 10 关键字: 49 38 65 97 76 13 27 49 55 04 第一趟希尔排序,设增量 d =5, 分为5组,各组内进行直接插入排序 13 27 49 55 04 49 38 65 97 76 第二趟希尔排序,设增量 d =3, 分为3组,各组内进行直接插入排序 13 04 49 38 27 49 55 65 97 76 04 13 27 38 49 49 55 65 76 97 第三趟希尔排序,设增量 d =1, 分为1组,各组内进行直接插入排序 * 大学计算机基础 * 习题: 设有关键码序列(17,8,3,25,16,1,13,19,18,4,6,21),要按关键码值递增的次序排序,用初始增量为4的希尔排序法,一趟扫描后的结果是 。 答案:16,1,3,19,17,4,6,21,18,8,13,25 * 大学计算机基础 * 2. 交换类排序 交换类排序的主要思想是:每次比较待排序列的两个元素,如果这两个元素的值的次序与排序要求的次序相反时,则交换两者的位置,直到整个序列全部有序为止。 常用的交换类排序是: 冒泡排序 快速排序 * 大学计算机基础 * 冒泡排序 冒泡排序的基本思想是:相邻的两个元素进行比较,满足条件(与要排序的顺序相反)就交换。 一趟冒泡排序的结果是把最大(或最小)的放到了最后,就像重

文档评论(0)

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

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

1亿VIP精品文档

相关文档