数据结构与算法分析第九章排序资料.ppt

  1. 1、本文档共212页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Chapter 9Sorti;第九章 排序排序定义——将一;概述排序:将一组杂乱无章的数据;主关键码: 如果在数据表中各;内排序与外排序: 内排序是;按排序所需工作量简单的排序方法;排序方法插入排序选择排序交换排;插入排序 ;插入排序 ;直接插入排序的C++算法tem;算法分析若设待排序的对象个数为;最好情况下,排序前对象已经按关;若待排序对象序列中出现各种可能;算法评价时间复杂度若待排序记录;若待排序记录按关键字从大到小排;若待排序记录是随机的,取平均值;2、折半插入排序 ;2、折半插入排序 ;算法评价:时间复杂度:T(n);折半插入排序 (Binary ;template class;算法分析对分查找比顺序查找快,;无标题;当 n 较大时,总关键码比较次;希尔排序(缩小增量法)排序过程;取d3=1三趟分组:13 ;希尔排序特点子序列的构成不是简;希尔排序的算法template;template class;Gap??取法有多种。最初 sh;Knuth利用大量的实验统计资;交 换 排 序交换排序的特点在;第六趟排序后第五趟排序后第四趟;算法评价:时间复杂度最好情况(;最坏的情形是算法执行了n-1趟;2、快速排序 (对冒泡排序的;快速排序过程示意图:有序序列 ;算法评价时间复杂度最好情况(每;快速排序 (Quick Sor;然后分别对这两个子序列重复施行;快速排序的算法template;template class;算法quicksort是一个递;算法分析从快速排序算法的递归树;T(n) ? cn + 2 t;快速排序是递归的,需要有一个栈;其排序速度退化到简单排序的水平;用第一个对象作为基准对象 ;用居中关键码对象作为基准对象快;选择排序的基本思想是:每一趟 ;1 若它不是这组对象中的第一个;template class;算法分析 直接选择排序的;对象的移动次数与对象序列的初始;锦标赛排序 (Tourname;如果 n 不是2的 k 次幂,;胜者树的概念每次两两比较的结果;08Winner (胜者)21;16Winner (胜者)21;21Winner (胜者)21;25Winner (胜者)25;25*Winner (胜者)2;63Winner (胜者)63;胜者树数据结点类的定义temp;int bottomRowSi;j = i; w;UpdateTree ( tr;while ( i ) { ;算法分析锦标赛排序构成的树是满;如果有 n 个对象,必须使用至;堆排序 (Heap Sort);堆排序堆的定义:n个元素的序列;例 (96,83,27,3;堆排序: 将无序序列建成一个;堆排序需解决的两个问题:如何由;第二个问题解决方法——筛选方法;例13273849657650;496550273876971;766597273849501;第一个问题解决方法方法: 从;例 含8个元素的无序序列(4;最大堆的向下调整算法templ;if ( temp.getKe;基于初始堆进行堆排序最大堆的第;4925252525*0821164901;25*160821254901;211625160825堆排序的算法template ;算法分析 若设堆中有 n ;在第二个for循环中,调用了n;归并排序归并——将两个或两个以;例初始关键字: [49];算法评价时间复杂度:T(n)=;归并排序 (Merge Sor;08 21 25 25*;迭代的归并排序算法迭代的归并排;两路归并算法template ;mergedList.Vect;一趟归并排序的情形设数组ini;template class;迭代的归并排序算法212525;(两路)归并排序的主算法tem;算法分析在迭代的归并排序算法中;基数排序 (多关键字排;多关键字排序方法 最高位优先;最低位优先法(LSD):从最低;链式基数排序基数排序:借助“分;链式基数排序步骤设置10个队列;例初始状态:278109063;505008109930063;008063083109184;算法评价时间复杂度:分配:T(;链表基数排序template ;int k = list.Ve;list.Vector[0].;算法分析若每个关键码有d 位,;内部排序方法的选择各种排序方法;各种内排序方法的比较和选择 ;2.从空间复杂度比较归并排序的;二 各种内排序方法的选择1.;(2)当待排序元素的个数n大,;各种排序方法的比较;内部排序方法的比较当n很大时用;比较排序算法的下界n个元素排成;比较排序算法

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档