校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 数据结构 > 希尔排序
题目

由于希尔排序的最后一趟与直接插入排序过程相同,因此前者一定比后者花费的时间更多()

A.

B.

解答

正确答案是 B

希尔排序最后一趟已经基本有序,比较次数和移动次数更少。

C 7条回复 评论
taotao

可以做个参考

发表于 2022-01-26 21:00:00
0 0
麦兜兜麦

哎呀,我居然把他看完了,谢谢大佬的文章

发表于 2021-12-15 23:00:00
0 0
欢乐马

在卷的地方,测试要比开发还要开发,又要懂业务又要懂测试,还要懂运维,我都搞不懂现在测试到底是个什么角色了

发表于 2021-09-14 09:05:00
0 0
浅色回忆

 希尔排序(Shell Sort)是插入排序的一种。是针对直接插入排序算法的改进。
比较相隔较远距离(称为增量)的数,使得数移动时能跨过多个元素,则进行一次比较就可能消除多个元素交换。D.L.shell于1959年在以他名字命名的排序算法中实现了这一思想。算法先将要排序的一组数按某个增量d分成若干组,每组中记录的下标相差d对每组中全部元素进行排序,然后再用一个较小的增量对它进行,在每组中再进行排序。当增量减到1时,整个要排序的数被分成一组,排序完成。  

发表于 2018-10-13 14:29:50
0 0
心意

 希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。

希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。  

发表于 2018-10-13 14:29:34
0 0
人生赢家

插入排序对有序数组的效率很高,希尔排序最后一趟和直接插入排序一样,但是基本有序,比较次数会更少,所以花费的时间会更少。

发表于 2018-10-13 14:29:16
0 0
虹猫

希尔排序最好的情况下时间复杂度为:O(nlog(n)),最坏的情况下是 O(nlog(n)^2),插入排序最好的情况下时间复杂度为:O(n),最坏的情况下是:O(n^2),所以希尔排序最好的情况下还是要比插入排序最坏的情况下要快。

发表于 2018-10-13 14:28:58
0 0