希尔排序:/**希尔排序*/publicclassShellSort{ /** *排序方法 */ publicstaticvoidsort(long[]arr){ //初始化一个间隔 inth=1; //计算最大间隔 while(h<arr.length/3){ h=h*3+1; } while(h>0){ //进行插入排序 longtmp=0; for(inti=h;i<arr.length;i..
分类:
编程语言 时间:
2015-09-21 01:54:18
阅读次数:
205
排序算法 平均复杂度 冒泡排序 O(n2) 选择排序 O(n2) 插入排序 O(n2) 希尔排序 O(n1.5) 快速排序 O(N*logN) 归并排序 O(N*logN) 堆排序 O(N*logN) 基数排序 O(d(n+r)) 一. 冒泡排序(BubbleSort) 基本思想:两个数...
分类:
编程语言 时间:
2015-09-17 23:29:50
阅读次数:
834
importjava.util.Random;/*** 排序测试类** 排序算法的分类如下: *1.插入排序(直接插入排序、折半插入排序、希尔排序); *2.交换排序(冒泡泡排序、快速排序);* 3.选择排序(直接选择排序、堆排序); *4.归并排序; *5.基数排序。** 关于排序方法的选择: *...
分类:
编程语言 时间:
2015-09-16 19:36:15
阅读次数:
413
由于多次插入排序,我们知道一次插入排序是稳定的,不会改变相同元素的相对顺序,但在不同的插入排序过程中,相同的元素可能在各自的插入排序中移动,最后其稳定性就会被打乱,所以shell排序是不稳定的。希尔排序属于插入类排序,是将整个有序序列分割成若干小的子序列分别进行插入排序。排序过程:先取一个正整数d1...
分类:
编程语言 时间:
2015-09-16 17:30:46
阅读次数:
166
希尔排序希尔排序的基本思想是:把待排序的数据元素分成若干个小组,对同一小组内的数据元素用直接插入法排序;小组的个数逐次缩小;当完成了所有数据元素都在一个组内的排序后排序过程结束。希尔排序又称作缩小增量排序。选择步长,对每个小的分组进行的直接插入排序。/**
*希..
分类:
编程语言 时间:
2015-09-14 12:28:10
阅读次数:
396
1.简介希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。2.算法实现原始的算法实现在最坏的情况下需要进行O(n2)的比较和交换。V. Pratt的书[1] 对算法进行了少量修改,可以使得性能提升至O(n log2 n)。这比最好的比较算法的O(n log ...
分类:
编程语言 时间:
2015-09-13 23:10:39
阅读次数:
327
在我们正式开始讲解Hilbert-Huang Transform之前,不放先来了解一下这一伟大算法的两位发明人和这一算法的应用领域Section I 人物简介 希尔伯特:公认的数学界“无冕之王”,1943年去世于瑞士苏黎世。除此之外,自不必过多介绍。 黄锷:1937年出生于湖北省;1975年进入.....
分类:
其他好文 时间:
2015-09-10 23:52:07
阅读次数:
468
需要掌握的基础排序一、插入排序 1)直接插入排序2)希尔排序 二、交换排序 1)冒泡排序2)快速排序三、选择排序 1)简单选择排序2)堆排序四、归并排序一、插入排序 简单的理解就是遍历整个数组,在过程中对每个数都跟前面进行比较只要比它小就往前挪。 1) 直接插入排序实现 public ...
分类:
编程语言 时间:
2015-09-07 21:11:54
阅读次数:
198