首页 > 编程语言 > 详细

数据结构与算法小结——排序(二)

时间:2018-01-26 22:11:41      阅读:308      评论:0      收藏:0      [点我收藏+]

1.2 希尔排序

  希尔排序属于插入排序的一种,是直接插入排序的优化,其主要思想是:由于在序列基本有序的情况下,直接插入排序的效率很高,那么,我们引入一个增量incre,把以incre为间隔的元素做一次直接插入排序,使其基本有序;随后,incre慢慢减小,继续做上述直接插入排序,最后incre变成1,退化成直接插入排序,但这时候的序列已经基本有序,排序效率非常高。实际上就是让相对较小的元素跳跃着往前移动。其过程如图所示:

技术分享图片

 

 

   希尔排序的时间、空间复杂度、稳定性以及适用场合如图:

技术分享图片

  如图所示,希尔排序的性能在四个改进算法中算不上好(在O(nlgn)~O(n^2)之间,其它3个的平均时间复杂度都为O(nlgn)),但希尔排序的意义在于突破了O(n^2)的限制,为后来更优秀算法打开了思路。

数据结构与算法小结——排序(二)

原文:https://www.cnblogs.com/lilei94/p/8353220.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!