关于shell排序

来源:百度知道 编辑:UC知道 时间:2024/05/02 06:44:35
对于shell排序来说,给定的一组排序数值为:
49,38,65,97,76,13,27,49,55,04
则第二趟排序后的结果为:
A.04,13,27,49,49,38,55,65,76,95
B.4,13,27,38,49,49,55,65,76,97
C.13,04,49,38,27,49,55,65,97,79
D.13,27,49,55,04,49,38,65,97,76
选哪个为什么?
关于你回答的这个问题,我还想问下增量如何取啊?书上说的是每次除以2,但是书上给的是一个8个元素的序列,取4 2 1,这个10的为啥取5 3 1呢?10/2=5 然后5/2=2.5 你进位取的3,那3/2=1.5 ,为啥不进位取2而取1呢?

选C
一趟:13、27、49、55、04、49、38、65、97、76
二趟:13、04、49、38、27、49、55、65、97、76
三趟:04、13、27、38、49、49、55、65、76、97
呵呵,这个题目好象上学时候我也做过的。你只要理解希尔算法的概念,在纸上画画就出来了。增量取5、3、1。

你取5、3、2、1也可以啊,这样就要算4趟。你补充的这个问题“增量如何取”可就太厉害了,国外的高手们讨论了几十年了至今还没有个定论呢。不是在这里三言两语可以说的清楚的