浅谈希尔排序
来源:互联网 发布:海量数据备份 编辑:程序博客网 时间:2024/06/05 18:42
希尔排序:
先选定一个下标增量d,将整个序列按增量d从第一个元素开始划分为若干组,对每组使用直接插入排序的方法;然后减小增量d,不断重复上述过程,如此下去,直到d=1,此时整个序列是一组。
public static void shellSort(int[] numbers) {int d = numbers.length;while(true) { if (d % 2 == 0)d = d / 2; elsed = d / 2 + 1;for (int i = 0; i < d; i++){ for (int j = i + d; j < numbers.length; j += d) { int k = j - d; int temp = numbers[j]; for (; k >= 0 && temp < numbers[k]; k -= d) numbers[k + d] = numbers[k]; numbers[k + d] = temp; } } if (d == 1) break; } }平均时间复杂度:O(n1.3)
1 0
- 浅谈希尔排序
- 浅谈排序算法学习之希尔排序(三)
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- Xcode Assertion failure in -[UIApplication _runWithMainScene:transitionContext:completion:]
- Python学习笔记(十)——Python 网络编程
- Android平台日志收集系统
- 在jsp中引用js文件汉字显示为乱码解决方法
- c++学习笔记——细节关键点
- 浅谈希尔排序
- ubuntu14.04安装caffe过程,无CUDA。
- java 适合于restful规则的http通信
- [ windows程序设计(programing windows) ]
- lwIP协议栈timeouts->next->time赋值导致BusFault异常的解决办法
- SSL协议详解
- /lib /usr/lib /usr/local/lib的简单区分
- 【Unity&C#&数组】如何创建一个存放任何类型变量的数组
- Laravel 实践之路: 数据库迁移与数据填充