数据结构与算法——希尔排序
来源:互联网 发布:hash-256函数算法原理 编辑:程序博客网 时间:2024/05/27 16:41
插入排序的加强版
代码实现:
public static long[] sort(long[] arr) { if (arr == null) { return null; } int h = 1;//初始化间隔 while (arr.length / 3 > h) { h = h * 3 + 1; } while (h > 0) { long tmp = 0; for (int i = h; i < arr.length; i++) { tmp = arr[i]; int j = i; while (j > h - 1 && arr[j - h] >= tmp) { arr[j] = arr[j - h]; j -= h; } arr[j] = tmp; } h = (h - 1) / 3; } return arr; }
总结:相对于直接插入排序,希尔排序可以对部分数据移动,而不是一个个移动,效率上更好
阅读全文
0 0
- 数据结构与算法——希尔排序
- 数据结构与算法——希尔排序
- 数据结构与算法——插入排序和希尔排序
- 数据结构排序算法——希尔排序
- 数据结构与算法——希尔排序(Java实现)
- 算法与数据结构——选择,插入,希尔排序
- 【数据结构与算法】希尔排序
- 【数据结构与算法】希尔排序
- 数据结构与算法——插入类排序(直接插入排序,希尔排序)
- 数据结构—希尔排序
- 数据结构 — 希尔排序
- 数据结构与算法专题之查找与排序——插入类排序(插入、希尔)
- python数据结构与算法 33 希尔排序
- 算法与数据结构(五)--希尔排序
- 【数据结构与算法设计】希尔排序
- 数据结构与算法简记:希尔排序
- Java数据结构与算法《八》希尔排序
- 数据结构与算法(八)希尔排序
- spark-jobserver使用笔记
- kotlin项目开发总结
- 题目学习——hduoj-2136
- Jdk类库注解
- Unity3D的四种坐标系
- 数据结构与算法——希尔排序
- struts2框架的核心控制器是什么?它有什么作用?
- Python——psutil的使用(收集系统基础信息)
- Apache Hadoop与第三方Hadoop-CDH,HDP,MapR的分析与比较
- caffe_mobile
- struts2配置文件的加载顺序?
- C++11 可复用线程任务队列
- 提问的礼仪
- S型函数:Sigmoid 函数