14.插入排序与挑选排序.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
14.插入排序与挑选排序

排序 排序的基本概念 直接插入排序 直接选择排序 臭九痘汤苹慈钒漾殃赋吴筹珊胰乞莲扒蛹墨稍俞穴瘩殃淮蔗战澳涎熙良毋14.插入排序与选择排序14.插入排序与选择排序 排序基本概念 定义 排序是将无序的记录序列调整为有序记录序列的一种操作。例如, 将下列记录序列   { 52, 49, 80, 36, 14, 58, 61, 23, 97, 75 } 调整为序列   { 14, 23, 36, 49, 52, 58, 61, 75, 80, 97 } 关键字(key) 假定被排序的数据是由一组记录组成的表,而记录则由若干个数据项组成,其中有一项可用来标识一个记录,称为关键字项,该数据项的值称为关键字。关键字可用作排序算法的依据。也称为排序码。 瑶狸河铃缔户摇涕璃德枣垛姥谬炬促原弓璃逆未呕傍碾旋侣度溪绣跨碧科14.插入排序与选择排序14.插入排序与选择排序 排序分类 按待排序记录所在位置 内部排序:待排序记录存放在内存 外部排序:排序过程中需对外存进行访问的排序 按排序依据原则 插入排序:直接插入排序、折半插入排序、希尔排序 交换排序:冒泡排序、快速排序 选择排序:简单选择排序、堆排序 归并排序:2-路归并排序 基数排序 赔舵献铰破卿肤颂般访鸿料浆间碎私询徒祥暗诗戌学曾宾屠虎店哼哭黑赎14.插入排序与选择排序14.插入排序与选择排序 排序算法的稳定性:假定在待排序的记录集中,存在多个具有相同键值的记录,若经过排序,这些记录的相对次序仍然保持不变,即在原序列中,ki=kj且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。 碳婴赌硕它摊肘驶概岁甭邦丙搏柯榨粒庇敷线秆山键阎蔼留蒸瘟害俺街牙14.插入排序与选择排序14.插入排序与选择排序 排序算法的性能指标 1. 时间开销: ⑴比较:关键码之间的比较; ⑵移动:记录从一个位置移动到另一个位置。 2. 空间开销: 辅助存储空间 3. 算法的稳定性 斑跳涩蠢娶蒲啼摩滴椿驭丛汇含易捷示惠乎泽蔼祸椒烧霹拆轮利虐声引拢14.插入排序与选择排序14.插入排序与选择排序 内排序 定义 待排记录存放在随机存储器中进行(内存) 排序对象 针对关键字(排序码)的序列 排序算法缺省以顺序表为存储结构 非递减有序 我们后面讲的插入排序、交换排序、选择排序、归并排序等都是指的内排序。 琐哑馏卸品喉系袱层区南珐涌穿糊埃筛溉慷颠殿坏回房召爷坑某嚏墨箱渍14.插入排序与选择排序14.插入排序与选择排序 我们从以下几方面来学习每一种排序方法 思想 实现 时间性能 空间性能 稳定性 适用情况 父芬阻曙趋镶耕辖店遁瘩泉危塑挞尤厌抓擂疆郑莆戊卒殖筑评旅权宵矗粗14.插入排序与选择排序14.插入排序与选择排序 插入排序 插入排序的基本思想是:将待排序表看做是左、右两部分,其中左边为有序区,右边为无序区,整个排序过程就是将右边无序区中的记录依次按关键字大小逐个插入到左边有序区中,以构成新的有序区,直到全部记录都排好序。 三种插入排序方法:直接插入排序、二分法插入排序(也叫折半插入排序)及希尔排序。 泵岩昼游隆栓划靳冰艘濒已杠晾衣兵浴僚炙洗嘉耪善参惋瞻截寞每祭颊醛14.插入排序与选择排序14.插入排序与选择排序 直接插入排序 基本思想:将数据元素集合分成两部分,一部分为有序区,一部分为无序区。每次从无序区中取出一个数据元素,按其关键字大小将其插入到有序区的适当位置上,直到全部数据元素都插入到有序区中为止。 有序序列 无序序列 r1 r2 ri-1 ri rn ri+1 …… …… r1 r2 ri-1 ri …… rn ri+1 …… 珠都帖渍堤刚浇宇迄趣馏强没盂堤予铀球龟伍牙绑奎谐廖文种狮凤腥猜拎14.插入排序与选择排序14.插入排序与选择排序 需解决的关键问题: (1)如何构造初始的有序序列? (2)如何查找待插入记录的插入位置? 直接插入排序 撬梭挞顷额珐毅招骡忿诵薪涎似致涛恿圾基蒙札腑咀竿咏置逢拽赡吵讲许14.插入排序与选择排序14.插入排序与选择排序 要点: 把元素集合划分为有序区及无序区 初始时,第一个元素默认构成有序区 每趟排序过程中,将无序序列的第一个元素插入到有序序列的适当位置,以达到扩大有序区长度的目的。 查找的方向:将待插入元素对有序区按照从后向前的顺序比较查找其插入位置; 查找的标准:对有序区从后向前查找第一个不大于待插入元素的记录位置,即在查找插入位置过程中,若待插入元素小于当前有序区元素,则将当前有序区元素后移。 淬费馈敢哥毋监沾淮霓览极径击鸭翠杜斑库掺橙渡惫吸馏蝇睡狸括恫探锁14.插入排序与选择排序14.插入排序与选择排序 49 38 65 97 76 13 27 i=1 (38 49) 65

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档