对序列{15,9,7,8,20,一1,4}进行排序,进行一趟后数据的排列变为{4,9,一1,8,20,7,15};则采用的是( )排序。

admin2014-10-20  0

问题 对序列{15,9,7,8,20,一1,4}进行排序,进行一趟后数据的排列变为{4,9,一1,8,20,7,15};则采用的是(    )排序。

选项 A、选择
B、快速
C、希尔
D、冒泡

答案C

解析 希尔排序又称缩小增量排序,是一种改进的插入排序,在时间效率上有了较大的改进。对直接插入排序来说,比较的步长为1。这种情况下,如果较小的数在序列的较后面部分,则需要一步一步地向前移动,无疑是比较慢的。如果采用步长>1的方法,则可以使较小的数向前推进是跳跃式进行,故可以提高排序效率。方法:将整个序列分成若干子序列,对各个子序列进行直接插入排序,得到一趟希尔排序序列;然后缩短步长,重复以上动作,直到步长为1。具体步骤如下:①先取一正整数d(d<n,一般可取d(=(n/2)),把所有距离为d的倍数的记录编在一组,组成一个子序列,这样将整个待排序序列分成若干组;②在各个子序列中进行直接插入排序;③取一个新的d(比原来的要小,一般取原来的l/2),重复执行①,②,直到d=1为止(此时,整个序列变成直接插入排序)。
转载请注明原文地址:https://jikaoti.com/ti/X49fFFFM
0

相关试题推荐
最新回复(0)