希尔排序算法
来源:互联网 发布:流量精灵软件 编辑:程序博客网 时间:2024/06/07 03:14
希尔排序算法
定义:
希尔排序是插入排序的一种,也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。
算法思想:
希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序,随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰好被分为一组,算法终止。
时间复杂度:
O(N)
空间复杂度:
O(1)
性能:
希尔排序为不稳定算法(一次插入排序是稳定的,不会改变相同元素的相对顺序,但是在不同的插入排序中,相同的元素可能在各自的插入排序中移动,会打乱其稳定性)
优势:
希尔排序不需要大量的辅助空间,比直接插入排序时间要快,并且代码很好实现。
缺点:
虽然希尔排序相对于直接插入排序要优化很多,但是O(N)的算法依旧效率不是很高,并且希尔排序不稳定。
代码实现:
阅读全文
0 0
- 排序算法--希尔排序
- 排序算法-希尔排序
- 排序算法--希尔排序
- 排序算法--希尔排序
- 排序算法---希尔排序
- 排序算法---希尔排序
- 排序算法--希尔排序
- 排序算法--希尔排序
- 排序算法:希尔排序
- 排序算法:希尔排序
- 【排序算法】希尔排序
- 排序算法---希尔排序
- 排序算法:希尔排序
- 排序算法-希尔排序
- 排序算法---希尔排序
- 排序算法-- 希尔排序
- 排序算法-希尔排序
- 排序算法:希尔排序
- selenium之 文件上传所有方法整理总结
- log4j:WARN No appenders could be found for logger
- 简单解决lnmp环境下不支持thinkphp路由(pathinfo模式)
- Angularjs学习笔记之一
- MapReduce:详解Shuffle过程
- 希尔排序算法
- 手机号半隐藏
- mongodb安装启动问题
- 廖雪峰的Python教程-生成器
- 接雨水最大面积Trapping Rain Water
- python基础学习(5)
- sql server 中遇到表中有自动增长的字段,如何插入数据
- Flutter进阶—解析动画
- set与multiset HDU 4022Bombing