希尔排序
来源:互联网 发布:淘宝网聚划算天天特价 编辑:程序博客网 时间:2024/05/28 20:20
先看一下希尔排序的来历:首先说一下直接插入排序,在元素较少、元素基本有序的情况下排序的效率非常高,但是这两个条件都过于苛刻,首先说排序的元素的数量不可能太小否则排序也失去了意义,元素基本有序的情况也几乎不可能。这就使得直接插入排序无用武之地了,于是就发痒没条件制造条件的精神发明了希尔排序。首先解决元素数量要少的问题:分组。这样每组的元素数就降低了好几倍。第二基本有序,只有最后一次排序满足了这个特点。子序列的排序还是使用的直接插入排序。希尔排序的排序思路:从上面的描述中不难看出,希尔排序在于划分待排序咧。设增量为d这k k+d k+2d ...为第一趟排序,经过一趟排序后相隔增量为d的元素相对有序。然后缩小增量直到增量变为1,然后进行一次插入排序,排序结束。希尔排序的时间复杂度目前据书上说比较难断定,这里就不做讨论了。*/public class ShellSort{public static void main(String[]args) {int a[] = {0,13,12,5,32,4,14,56,8};int i,j;int increment = a.length;do{increment = increment/3 +1 ;for(i=increment+1;i<=a.length-1;i++){if(a[increment]<a[i-increment]){a[0] = a[i];for(j=i-increment;j>0&&a[0]<a[j];j-=increment){a[j+increment] = a[j];}a[j+increment] = a[0];}}}while(increment > 1);for(int k=1;k<a.length;k++){System.out.println(a[k]);}}}
0 0
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- @property( , ) set parameters
- 深入理解ecshop2.7.3整合discuzX3.2(97%的完美方案)
- JSP自定义标签开发+TLD文件元素详解
- 自己实现的getenv和getenv_r,验证线程是否可重入,即是否线程安全
- android AsyncTask介绍
- 希尔排序
- win7x64+vs2008下,visual assist过期之后再安装破解版VA仍提示过期的解决方案
- Sublime Text 2/3如何支持中文GBK编码
- Windows 下 android 自动打包 volley项目
- java基础之通过反射获得和使用类的字段、方法、构造器,等
- 解决win8安装完oracle_client没有Enterprise Management Console的问题
- DRBD实现的Hadoop的热备
- Adobe——我欠你一个正版
- v4l2 Camera详细设置