排序之希尔排序
来源:互联网 发布:linux cp 两个文件 编辑:程序博客网 时间:2024/05/02 00:14
希尔排序又称为缩小增量排序
可以说希尔排序是对插入排序的一种改进,即希尔排序是几个直接插入排序后的结果,基本思想就是将待排序的序列按照一定的规律分成几组,然后再对这几组进行直接插入排序,从而减少了之间插入排序的数据量,当经过几次的分组排序后,整个记录的排列都已经基本有序,这时再对整个序列进行直接插入排序
下面举例说明具体的排序过程
待排序序列:
51 33 62 96 87 17 28 51 52 10
假设第一趟排序距离为5,分成5组:
51 17
33 28
62 51
96 52
87 10
5组分别排序后:
17 28 51 52 10 51 33 62 96 87
第二趟排序以3为距离,分成3组:
17 52 33 87
28 10 62
51 51 96
三组排序后
17 10 51 33 28 51 52 62 96 87
第三趟以1为距离:
分成一组,即第三组排序后的结果,然后对其整个序列直接插入排序
排序后结果为:
10 17 28 33 5151 52 62 87 96
希尔排序适用与待排序的记录数目较大的情况,是一种不稳定的排序算法,时间复杂度约为O(n1.3).
- 排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 希尔排序和shell之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序(之希尔排序)
- Activity的四种启动模式
- Linux(ubuntu)下增加/删除文件权限
- struts2&springmvc单例多例
- 线程的死锁及算法避免
- Java 浮点数 float和double类型的表示范围和精度
- 排序之希尔排序
- 深度学习笔记七:循环神经网络RNN(基本理论)
- Spring+quartz删除超时订单的测试
- 谷歌挖苹果芯片构架师自研芯片,无核心技术必受制于人
- SDM 编译环境配置,配置Boost,opencv,Eigen
- 中断和异常
- Android Studio更新到3.0以后,预览无法显示 v4,v7包控件的解决方法
- 采用感知哈希算法基于python-PIL的图像去重
- 安卓Activity的退出应用程序