1 / 23
文档名称:

排序归并、快排、优先队列等.docx

格式:docx   大小:18KB   页数:23页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

排序归并、快排、优先队列等.docx

上传人:薄荷牛奶 2022/6/5 文件大小:18 KB

下载得到文件列表

排序归并、快排、优先队列等.docx

相关文档

文档介绍

文档介绍:精选公文范文
排序归并、快排、优 先队列等
各位读友大家好,此文档由网络收集而来,欢迎您下载,谢谢
思想:首先,找到数组中最小的那 个元素。其次,将它和数组的第一个元 素交换位置。再次,在剩下的元素中找 到最小的元素,将它与数组的第出空 间,它们可能会被移动。但是当索引到 达数组的右端时,数组排序就完成了。 插入排序不会访问索引右侧的元素,而 选择排序不会访问索引左侧的元素。
和选择排序不同的是,插入排序所 需的时间取决于输入中元素的初始顺 序。对一个其中的元素已经有序(或接近 有序)的数组进行排序,将会比对随机顺 序的数组或是逆序数组进行排序要快得 多。
【图例】
使用插入排序为一列数字进行排序 的过程。
从前到后逐步有序。
void%20sort(Comparable%20a){%20%20 %20%20//将 a 按升序排 列 %20%20%20%20int%20N%20=%%20; %20%20%20%20for%20(int%20i%20=% 201;%20i%20=1%20&&%20less(a,%20a) ;%20j--)%20%20%20%20%20%20%20%
精选公文范文 6
精选公文范文
20%20%20%20%20exch(a,%20j,%20j-1) %20;%20%20%20%20}}
〃在索引i由左向右变化的过程中, 它左侧的元素总是有序的,所以当i到达 数组的右端时排序就完成了。
改进:要大幅提高插入排序的速度 并不难,只需要在内循环中将较大的元 素都向右移动而不总是交换两个元素。
【平均情况下插入排序需要~N2/4 次比较以及~N2/4次交换。】
【当倒置(两元素颠倒)的数量很少 时,插入排序很可能比其他任何排序算 法都要快!】
【插入排序对于部分有序的数组十 分高效,也很适合小规模数组。它也是 高级排序算法的中间过程。】
【插曲】
Knuth高爷爷说:“尽管第一个二分 查找程序于1946年就已经公布了,但是 第一个没有bug的二分查找程序在1962 年才出现。”
显然,我们上面的二分查找代码是 精选公文范文 7
精选公文范文
有 bug 的。%20
至于二分查找,以后会再起一篇博 文详细讨论。
希尔排序,也称递减增量排序算法, 是插入排序的一种更高效的改进版本。
希尔排序是基于插入排序的以下两 点性质而提出改进方法的:
1、 插入排序在对几乎已经排好序的 数据操作时,效率高,%20即可以达到 线性排序的效率
2、 对于大规模乱序数组插入排序很 慢,因为它只会交换相邻的元素,因此 元素只能一点一点地从数组的一端移动 到另一端。
希尔排序简单地改进了插入排序, 交换不相邻的元素以对数组的局部进行 排序,并最终用插入排序将局部有序的 数组排序。
思想:使数组中任意间隔为h的元 素都是有序的。这样的数组被称为h有 序数组。在进行排序时,如果h很大, 我们就能将元素移动到很远的地方,为 精选公文范文 8
精选公文范文
实现更小的h有序创造方便。
我们只需要在插入排序的代码中将 移动元素的距离改为h即可。这样,希 尔排序的实现就转化为了一个类似于插 入排序但使用不同增量的过程。
【图例】
void%20sort(Comparable%20a){%20%20 %20%20//将 a 按升序排 列 %20%20%20%20int%20N%20=%%20; %20%20%20%20int%20h%20=%201%20 ;%20%20%20%20%20%20%20%20// 根 据数组长度%20选取适当的初始间隔 h%20%20%20%20while%20(h%20=%20 1)%20%20%20%20{%20%20%20%20% 20%20%20%20//将数组变为 h 有 序 %20%20%20%20%20%20%20%20for %20(int%20i%20=%20h;%20i%20=h%20 &&%20less(a,%20a);%20j-=h)%20%20% 20%20%20%20%20%20%20%20%20%2 0%20%20%20%20exch(a,%20j,%20j-h)% 20;%20%20%20%20%20%20%20%20}% 精选公文范文 9
精选公文范文 20%20%20%20%20%20%20%20h%20= %20h/3%20;%20%20%20%20}}
希尔排序更高效的原因是它权衡了 子数组的规模和有序性。排序之初,各 个子数组都很短,排序之后子数组都是 部分有序的,这两种情况都很适合插入 排序。
希尔排序的算法性能不仅取决于h, 还取决于h之间的数学性质。在实际应 用中,使用

最近更新

二零二四年度厂区装卸工劳动条件改善合同 21页

二零二四年度变压器产业链上下游合作协议样本.. 15页

二零二四年度国际展会搬运工劳务合作合同 15页

二零二四年度安徽省科研机构劳动合同规范 18页

二零二四年度宾馆股份内部转让及酒店网络营销.. 17页

二零二四年度建筑工地专用标砖购销协议 16页

二零二四年度征用土地拆迁还建住宅产权转让合.. 15页

二零二四年度拆除工程安全管理与应急预案协议.. 16页

二零二四年度数据中心安全保卫承包协议 14页

二零二四年度新型材料变形缝施工技术合作协议.. 16页

二零二四年度新能源汽车充电站场地租赁合同 13页

二零二四年度智能办公助手劳动合同 13页

二零二四年度材料代购及配送服务合同范本 16页

二零二四年度水利工程爆破施工合同 16页

二零二四年度测绘员保密协议书模板-@-1 14页

二零二四年度环保技术采购合同环保效益分析 17页

二零二四年度电商平台图书节销售合作协议 13页

生物样本库公开课一等奖课件赛课获奖课件 19页

部编版四年级语文下册期末考试题附答案 6页

项目经理责任协议书3篇 51页

银行取消金融协议3篇 43页

幼儿园工作规程公开课一等奖课件赛课获奖课件.. 19页

2025年度纺织面料外发加工合同协议书3篇 44页

小学美术纸筒人公开课一等奖课件赛课获奖课件.. 18页

2025年度工业用地及地上厂房转让协议书3篇 41页

2025年度城市绿化工程临时工聘用书2篇 28页

2022年人教版六年级下册《道德与法治》期末考.. 5页

2025美国心肺复苏指南--关键问题和重大更新 5页

平面直角坐标系中三角形面积求法例题及对应练.. 3页

2024年重庆市中考物理试卷(B卷)(附答案) 10页