重庆小潘seo博客

当前位置:首页 > 重庆网站建设 >

重庆网站建设

怎么实现壳的排序算法

时间:2016-03-25 17:20:52 作者:重庆seo小潘 来源:互联网
通过按若干位置的距离形成多个子列表分隔元素并进行组合,壳排序算法改进了抛入排序算法。一旦列表被分子列表,您对每个子列表,您对每个子列表应用插入排序,将元素朝着正确的位置移动。这帮助元素快速靠近正确的位置,因此减少了比较的资料。 为了理解壳排
通过按若干位置的距离形成多个子列表分隔元素并进行组合,壳排序算法改进了抛入排序算法。一旦列表被分子列表,您对每个子列表,您对每个子列表应用插入排序,将元素朝着正确的位置移动。这帮助元素快速靠近正确的位置,因此减少了比较的资料。
为了理解壳排序算法的实现,考虑数组a{0..n-1}。为了对此数组应用壳排序,您需要选择分隔组中元素的距离。
假设最初将4个元素的距离分离的元素组合为创建以下子列表:

a[0],a[4],a[8]...
a[1],a[5],a[9]
a[2],a[6],a[10]
a[3],a[7],a[11]
您可以说子列表用递增值4来创建。每个上述列表将通过使用插入排序来排序。
在下一个通道中,递增值将减少为3,而这些元素将再次分组以创建以下子列表:
a[0],a[3],a[6]...
a[1],a[4],a[7]..
a[2],a[5],a[8]...
每个上述子列表将通过使用插入排序来排序。在下一个通道中,递增值将减少为2,而这些元素将再交分组以创建以下子列表:
a[0],a[2],a[4]...
a[1],a[3],a[5]
今天重庆seo博客就先说到这里了。