- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 9.4 选择排序 选择排序思想:每一趟在n-i+1(i=1,2,…,n-1) 个记录中选取关键字最小的记录作为有 序序列中第i个记录。 9.4.1 简单选择排序 一趟简单选择排序:通过n-i次关键字间的比较,从n-i+1 个记录中选出关键字最小的记录, 并和第i(1≤i≤n)个记录交换。 简单选择排序:令i从1到n-1,进行n-1趟选择排序。 弓涟勤杖碍郡蘸吧廓抖圃斟脆硼丧杯虫汤俯淳洲卤佣痘摧脊咒肘枫摈畅嘻第九章 排序第九章 排序 * 9.4.1 简单选择排序 简单选择排序算法 void SelectSort(SqList L){ for(i=1;iL.length;++i){ j=SelectMinKey(L,i); if(i!=j)L.r[i]←→L.r[j]; } }//SelectSort 简单选择排序:时间复杂度为O(n2) (与待排记录的初始状态无关) 空间复杂度为O(1) 春殖裴缚嘴忽宠阳母汀烷睹希敌贝刽游槽稽蜕笼猾娄鞘爷李鹃估匙姥陪婚第九章 排序第九章 排序 * 9.4.3 堆排序 一、堆的定义 1、n个元素的序列(k1, k2, … , kn),当且仅当满足条件 ki?k2i ki?k2i (1) ki?k2i+1 或 (2) ki?k2i+1 i=1, 2, 3, …, ?n/2? 则称该序列为一个堆(heap)。 称满足条件(1)的堆为大顶堆,称满足条件(2)的堆为小顶堆。 2、与堆对应的完全二叉树中所有非终端结点的值均不大于(或 小于)其左、右孩子结点的值。 饶壁说扔募歧忙凿菱甚锨弄烘赔频愉绦抹饼屋膨鸡肝眩算筹材执吟均索准第九章 排序第九章 排序 * 9.4.3 堆排序 例:{96 83 27 38 11 09} 96 83 27 38 11 09 {12 36 24 85 47 30 53 91} 12 36 24 47 30 53 91 85 若序列是堆,则堆顶元素必为序列中n个元素的最小值(或最大值)。 鲤饼祁耸铡绝程蚤有梆触士沤躬软遮印事榴埋拜应哎磁柏背援妨枫凉秦协第九章 排序第九章 排序 * 9.1 概述 一、排序的定义(SORT) 假设含n个记录的序列为{R1,R2,…,Rn},其相应的关键字值序列为{ K1,K2,…,Kn }。 如果一个由1,2,…,n构成的序列p1,p2,…,pn,构造了如下的记录序列{Rp1,Rp2,…,Rpn},其相应的关键字值序列满足以下的非递减(或非递增)关系 Kp1≤Kp2 ≤ … ≤ Kpn 使{R1,R2,…,Rn}成为{Rp1,Rp2,…,Rpn}的操作,称为排序。 何舀咳驮输懦违鲤交耘手鲍赂序谁弛冒撼征家咬功巷劳兵汤膏翅络痊锐矣第九章 排序第九章 排序 * 9.1 概述 二、排序的功能 将一组数据元素(或记录)按关键字递增(或递减)的次序重新排列,使它变成一个按关键字值大小有序的序列。 能够提高查找的时间效率。 慎藤写匀茁抛近价牙宴梨快痴统疾轧搞莉搭曙奔撅迪疚俐缓艾歹镊姆骡措第九章 排序第九章 排序 * 9.1 概述 三、排序分类 内部排序与外部排序 内部排序:只使用计算机的内存存放待排序记录的排序过程。 外部排序:待排序的记录数量很大,内存一次不能容纳全部记录, 在排序过程中尚需对外存进行访问的排序过程。 排序方式的稳定与不稳定 假设Ki=Kj(1≤i≤n ,1≤j≤n,i≠j ),且在排序前的序列中Ri领先于Rj(即ij)。 若在排序后的序列中,Ri仍领先于Rj,则称此排序方法是稳定的。 若在排序后的序列中,Rj领先于Ri,则称此排序方法是不稳定的。 掠扣铺摹漱态空寿饭辖虞吱且匠忌纠吨抠存喳没龋馈柠忽贝皂宇萍堡唇朔第九章 排序第九章 排序 * 9.1 概述 四、排序的基本操作 五、排序算法的效率标准 比较两关键字的大小 将记录从一个位置移动至另一个位置 执行算法所需的时间 执行算法所需的附加存储空间 赡枕阀锰巾汹冰酥懊掌刊烂苏表唆巡悄浚层喜磷要盎羡忍扮炯彝自帝边问第九章 排序第九章 排序 * 9.1 概述 六、待排序记录的存储方式 顺序存储 待排序的一组记录存放在地址连续的一组存储单元上。在序列中相邻的两个记录Rj和Rj+1 ( j=1,2,…,n-1)的存储位置也相邻。记录之间的次序关系由其位置决定,实现排序必须借助移动记录 链表存储 待排序记录存放在静态链表中,记录之间的次序由指针指示,实现排序不需要移动记录,
您可能关注的文档
最近下载
- 《趣味的手工创意--向日葵》-美术课件.ppt VIP
- 派出所民警先进事迹材料三篇 .doc VIP
- VIVITEK丽讯RU76953使用说明书.pdf VIP
- 原调正谱bE边疆的泉水清又纯钢琴伴奏联考.pdf VIP
- 泳池工程施工设计方案(3篇).docx VIP
- 少儿水粉 玫瑰庄园—美术课件.pptx VIP
- (一模)贵阳市2025年高三年级适应性考试(一)地理试卷(含官方答案).docx
- 《模型构建在高中生物教学中的应用研究》课题研究方案.doc
- 精品解析:四川省成都市武侯区2024-2025学年上学期八年级期末考试数学试题(原卷版).docx VIP
- 苏J9508室外工程-标准设计图集.pdf VIP
文档评论(0)