- 1、本文档共164页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第9章排序;目录;9.1根本概念;9.2插入排序;例如,n=6,数组R的六个排序码分别为:17,3,25,14,20,9。它的直接插入排序的执行过程如下:;voidD-InsertSort(datatypeR[],intn)
/*待排序的n个元素放在数组R中,用直接插入法进行排序*/
{for(i=2;i=n;i++)/*i控制第i-1次插入,最多进行n-1次插入*/
if(R[i].keyR[i-1].key)/*小于时,需将R[i]插入有序表*/
{R[0]=R[i];/*为统一算法设置监视哨*/
for(j=i-1;R[0].keyR[j].key;j--)
R[j+1]=R[j];/*元素后移*/
R[j+1]=R[0];/*将放在R[0]中的第i个元素插入到有序表中*/
}
};直接插入排序的效率分析;9.2.2希尔排序(缩小增量排序);八个元素的关键码分别为:91,67,35,62,29,72,46,57,希尔排序算法的执行过程为:;希尔排序算法;希尔排序的效率分析;9.3交换排序
主要是通过排序表中两个记录关键码的比较,假设与排序要求相逆〔不符合升序或降序〕,那么将两者交换。;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;冒泡排序算法的实现
voidBubble-sort(datatypeR[],intn)
{inti,j,swap;/*当swap为0那么停止排序*/
for(i=1;in;i++)/*i表示趟数,最多n-1趟*/
{swap=0;/*开始时元素未交换*/
for(j=1;j=n-i;j++)
if(R[j].keyR[j+1].key)/*发生逆序*/
{R[0]=R[j];R[j]=R[j+1];R[j+1]=R[0];
swap=1;}/*交换,并标记发生了交换*/
if(swap==0)break;}
};冒泡排序的效率分析
从冒泡排序的算法可以看出,假设待排序的元素为正序,那么只需进行一趟排序,比较次数为〔n-1〕次,移动元素次数为0;假设待排序的元素为逆序,那么需进行n-1趟排序,比较次数为(n2-n)/2,移动次数为3(n2-n)/2,因此冒泡排序算法的时间复杂度为O〔n2〕。由于其中的元素移动较多,所以属于内排序中速度较慢的一种。
因为冒泡排序算法只进行元素间的顺序移动,所以是一个稳定的算法。;9.3.2快速排序(分区交换排序);一次划分的具体过程;例;;;;;;;;;;;快速排序算法;快速排序的递归树;快速排序的时间复杂度;快速排序的空间???杂度及稳定性;9.4选择排序;9.4.1简单项选择择排序;49;VoidSelect-Sort(datatypeR[],intn)
/*对R[1]到R[n]的元素进行排序*/
{for(i=1;in;i++)
{k=i;
for(j=i+1;j=n;j++)
if(R[j].keyR[k].key)k=j;
if(k!=i)
{R[0]=R[k];
R[k]=R[i];
R[i]=R[0];
}
}
};简单项选择择排序的效率分析;选择排序——堆排序的引入;(a)求出最小关键字3(b)求出次小关键字11
图8.8树形选择排序;树形选择排序总的比较次数为O(nlog2n),与直接选择排序比较,减少了比较次数,但需要增加额外的存储空间存放中间比较结果和排序结果。;堆排序
1.堆的定义
;小顶堆和大顶堆例如;2.堆排序的根本思想;堆排序的两大步骤;堆排序的关键问题;堆排序的关键问题;堆排序例如(以大顶堆为例);堆排序例如(以大顶堆为例);30
1;30
1;30
1;30
1;70
1;
;
;
;
;
;
;
您可能关注的文档
最近下载
- HuaweiEnergyPoweringtheFuture华为精密空调解决方案.pdf VIP
- 盘古大模型研究报告:AI模型.pptx VIP
- 盘古气象大模型.docx VIP
- DB14∕T 1958-2019 精神卫生社会福利机构新入职护士培训规范.docx VIP
- 人工智能大模型气象监测和灾害预警.docx VIP
- 直流电路与交流电路--2024年高考物理二轮热点题型含答案.pdf
- 广州东部固体资源再生中心(萝岗福山循环经济产业园)生物质综合处理厂二期工程.doc
- (高清版)DB22∕T 3257-2021 精神分裂症护理服务规范 .pdf VIP
- 钱江生化公司2020年财务分析研究报告.pdf
- 常用中药方剂及其方歌.doc VIP
文档评论(0)