希尔排序
来源:互联网 发布:linux jdk 降级 编辑:程序博客网 时间:2024/06/17 02:35
基于插入排序,提高插入排序的效率
思想:
1.普通的插入排序是跨度为1的希尔排序
2.确定排序跨度,比如跨度为3,则数据每隔3个进行插入排序
3.缩小跨度,跨度减小为2,则数据每隔2个进行插入排序
4.直到缩小跨度为1-----插入排序
优点:
每趟希尔排序,都能将比较小的数排在左边,比较大的数排在右边,避免插入排序时,出现很小的数在最右边导致移动元素过多
跨度间隔计算:
初始值h=1,循环每次h=3*h+1,直到h大于数组大小,最大间隔不大于数组大小(1,4,13,40.。。。)
例:数组长度为10,间隔取4
跨度间隔减小:
h = (h-1)/3
阅读全文
0 0
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- Quartz定时调度器03
- spring bean的加载过程
- eclipse 上操作git
- PAT练习(3)-1021 Set Similarity
- HDU 6127 Hard challenge【计算机几何】【思维题】
- 希尔排序
- 初识html
- JQuery下的ajax请求
- 屏幕录像专家v2016破解版
- 2017杭电多校第七场1010 Just do it(数论,杨辉三角)HDU 6129
- by uninstalling an existing version of the apk if it is present,
- C语言运算符优先级理解记忆,语法“陷阱”
- Bigdata Development Web_Study_03(input标签,请求转发和重定向)
- c++ primer plus阅读笔记11---深拷贝与浅拷贝