给出如下关键字序列{50,26,38,80,70,90,8,30,40,20}的希尔排序过程,增量序列为d={5,3,1}。排序结果为从小到大
时间: 2023-08-19 17:03:53 浏览: 166
希尔排序,也称递减增量排序算法
首先,按照增量序列d={5,3,1},将关键字序列分成多个子序列,每个子序列的元素个数为n/d,其中n是关键字序列的长度。则按照这个增量序列,将关键字序列分成以下3个子序列:
{50,40},{26,20,30},{38,80,70,90,8}
对每个子序列进行插入排序,得到:
{40,50},{20,26,30},{8,38,70,80,90}
接下来按照增量序列d={3,1},将关键字序列分成多个子序列,每个子序列的元素个数为n/d,其中n是关键字序列的长度。则按照这个增量序列,将关键字序列分成以下2个子序列:
{40,20,8,70},{50,26,30,80,38,90}
对每个子序列进行插入排序,得到:
{8,20,40,70},{26,30,38,50,80,90}
最后按照增量序列d={1},对整个关键字序列进行插入排序,得到最终的排序结果:
{8,20,26,30,38,40,50,70,80,90}
阅读全文