超
34.Algorithm Gossip: Shell 排序法 - 改良的插入排序
说明
插入排序法由未排序的后半部前端取出一个值,插入已排序前半部的适当位置,概念简单但速度不快。
排序要加快的基本原则之一,是让后一次的排序进行时,尽量利用前一次排序后的结果,以加快排序的速度,Shell排序法即是基于此一概念来改良插入排序法。
解法
Shell排序法最初是D.L Shell于1959所提出,假设要排序的元素有n个,则每次进行插入排序时并不是所有的元素同时进行时,而是取一段间隔。
Shell首先将间隔设定为n/2,然后跳跃进行插入排序,再来将间隔n/4,跳跃进行排序动作,再来间隔设定为n/8、n/16,直到间隔为1之后的最 后一次排序终止,由于上一次的排序动作都会将固定间隔内的元素排序好,所以当间隔越来越小时,某些元素位于正确位置的机率越高,因此最后几次的排序动作将 可以大幅减低。
举个例子来说,假设有一未排序的数字如右:89 12 65 97 61 81 27 2 61 98
数字的总数共有10个,所以第一次我们将间隔设定为10 / 2 = 5,此时我们对间隔为5的数字进行排序,如下所示:
集合问题
排列组合
格雷码(Gray Code)
产生可能的集合
m元素集合的n个元素子集
数字拆解
排序
得分排行
选择、插入、气泡排序
Shell 排序法 - 改
您可能关注的文档
最近下载
- 髓内钉与MIPPO技术治疗胫骨远端骨折的疗效对比与思考.docx VIP
- 2025年湖北省襄阳市初二地理生物会考考试真题及答案.docx VIP
- 教师资格考试初中数学学科知识与教学能力2024年下半年试卷及解答.docx VIP
- 2026年内蒙古自治区乌海市地理生物会考真题试卷(+答案).docx VIP
- 2026年湖北省襄阳市初二地理生物会考真题试卷(+答案).docx VIP
- 2026年内蒙古自治区包头市初二地理生物会考考试真题及答案.docx VIP
- 苏教版--二年级语文下册课内阅读练习.doc VIP
- 重庆市渝中区2023-2024学年五年级下期期末考试数学试卷附详细答案.pdf VIP
- 2026年湖北省襄阳市地理生物会考考试真题及答案.docx VIP
- 环评报告脱密-煤机组扩建工程配套 750 千伏升压升压站.pdf VIP
原创力文档

文档评论(0)