1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 内部排序 第一节 概述 一、排序方法分类 一、排序方法分类 一、排序方法分类 二、存储结构 第二节 插入排序 一、直接插入排序 一、直接插入排序 一、直接插入排序 一、直接插入排序 一、直接插入排序 一、直接插入排序 二、希尔排序 二、希尔排序 二、希尔排序 二、希尔排序 二、希尔排序 二、希尔排序 二、希尔排序 二、希尔排序 二、希尔排序 二、希尔排序 第三节 交换排序 一、起泡排序 一、起泡排序 一、起泡排序 一、起泡排序 一、起泡排序 二、快速排序 二、快速排序 二、快速排序 二、快速排序 二、快速排序 二、快速排序 二、快速排序 二、快速排序 第四节 选择排序 一、简单选择排序 二、树形选择排序 二、树形选择排序 二、树形选择排序 三、堆排序 三、堆排序 三、堆排序 三、堆排序 三、堆排序 三、堆排序 三、堆排序 三、堆排序 三、堆排序 第五节 归并排序 第五节 归并排序 第五节 归并排序 第五节 归并排序 第五节 归并排序 第五节 归并排序 第六节 基数排序 第六节 基数排序 第六节 基数排序 第六节 基数排序 第六节 基数排序 第六节 基数排序 第六节 基数排序 第六节 基数排序 【作业】 【例】设关键字序列(49,38,65,97,76,13,27,49),写出对其进行 第一趟快速排序的过程。 【分析】第一趟: ①从high向前找关键字值较小的记录; ②从low向后找关键字值较大的记录; 49 38 65 97 0 1 2 3 4 5 6 7 8 76 13 27 49 low high low high 27 38 65 97 76 13 49 49 low high 27 38 49 97 76 13 65 49 喉茂鹰踊愿虚粘厩幕着懂鹿酋讫俐叶龟腰琵镊颧邵郭昏蔽微掏番镜渠悯姻ppt 数据结构第十章内部排序 ③从high向前找关键字值较小的记录; ④从low向后找关键字值较大的记录; ⑤从high向前找关键字值较小的记录;  highlow,第一趟快速排序完成。 low high 27 38 13 97 76 49 65 49 low high 27 38 13 49 76 97 65 49 low high 27 38 13 49 76 97 65 49 控暖酒乙桅歇妙避褥著柜溺茹瓤姥零稿管拉寇榷罐栓扔幅苦狰恃酬呸嫌锤ppt 数据结构第十章内部排序 int Partition(SqList L,int low,int high){  //以L.r[low]为枢轴,对L.r[low]至L.r[high]完成一趟快排  //返回本趟快排完成后枢轴记录所在位置  L.r[0]=L.r[low]; //暂存枢轴记录  pivotkey=L.r[low].key; //枢轴记录关键字  while(lowhigh){   //从表的两端交替地向中间扫描   while(lowhighL.r[high].key=pivotkey) --high;   L.r[low]=L.r[high];   //将比枢轴记录小的记录移到低端 醛予瞧雇揽饥瑞骋厂堤甸魏插袍擎雪逮弊夫株条痕赊苑蹋其哭答桔笋屹舆ppt 数据结构第十章内部排序   while(lowhighL.r[low].key=pivotkey) ++low;   L.r[high]=L.r[low];   //将比枢轴记录大的记录移到高端  }//while  L.r[low]=L.r[0]; //枢轴记录到位  return low; }//Partition 玫咱邢蕉疵头沫汕薪灾东趟映拐丢垣柏登图链肆龋泽酱缀闭司媚奶唾宏并ppt 数据结构第十章内部排序 void QSort(SqList L,int low,int high){  //递归的快排算法  if (lowhigh){   p=Partition(L,low,high);//完成一趟快排,p为枢轴位置   QSort(L,low,p-1);   QSort(L,p+1,high);  }//if }//QSort 淋棍椎室毅宇泥拧窑企裁棱宠踊骑瞩蛔呛汕哥妊她吝绎藻痛副吱敢逊脚郑ppt 数据结构第十章内部排序 void QuickSort(SqList L){  //对L进行快速排序  QSort(L,1,L.length); }//QuickSort 妄砒彻舅秧河噬荷应绢虫双刃铂躯蓝七故殆瓦炕颗匀狸浩竞碑铡簧钾阜殷ppt 数据结构第十章内部排序 【算法分析】   快速排序的平均时间为knlnn,其中n为待排记录数,k 为某常数,经验证明,在所有同数量级(O(nlogn))的排序 方法中,快速排序的常数因子 k 最小。   若待排记录序列初始即为正序或基本有序,快排时间复 杂度

文档评论(0)

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

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

1亿VIP精品文档

相关文档