/***(插入排序)希尔排序(最小增量排序)*@authorCinn**/publicclassshellSort{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubint[]array={48,58,50,98,69,51,27,99,100};shleesort(array);printArray(array);}/***希尔排序接口*@paramarra..
分类:
编程语言 时间:
2015-07-17 07:17:38
阅读次数:
148
排序过程:先取一个正整数d1 < n, 把所有相隔d1的记录放一组,每个组内进行直接插入排序;然后d2 < d1,重复上述分组和排序操作;直至di = 1,即所有记录放进一个组中排序为止。
希尔排序是不稳定的。...
分类:
编程语言 时间:
2015-07-05 16:53:39
阅读次数:
128
山是包插入的精髓排序排序。这种方法,也被称为窄增量排序,因为DL.Shell至1959提出命名。该方法的基本思想是:先将整个待排元素序列切割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一...
分类:
编程语言 时间:
2015-06-22 22:12:32
阅读次数:
199
一、希尔排序(Shell Sort)
希尔排序(Shell Sort)是一种插入排序算法,因D.L.Shell于1959年提出而得名。Shell排序又称作缩小增量排序。
二、希尔排序的基本思想
希尔排序的中心思想就是:将数据进行分组,然后对每一组数据进行排序,在每一组数据都有序之后
,就可以对所有的分组利用插入排序进行最后一次排序。这样可以显著减少交换的次数,以达到加快排序速度的...
分类:
编程语言 时间:
2015-06-19 01:31:56
阅读次数:
232
希尔排序又叫分组插入排序、缩小增量排序。
它通过比较相距一定间隔的元素来工作;各趟比较所用的距离随着算法的进行而减小,直到只比较相邻元素的最后一趟比较为止。
简单的说就是先将整个序列分割成若干子序列(由相隔某个增量的元素组成),分别进行插入排序。然后依次缩减增量再进行排序,待整个序列中元素基本有序时,再对全体元素就行一次插入排序(因为此时整个序列已经基本有序了,用插入排序效率比较高,子序列排序...
分类:
编程语言 时间:
2015-06-08 23:22:21
阅读次数:
161
算法分析:
希尔排序是一种按照增量排序的方法。其中增量值是小于n的正整数。
shell排序的基本思想[1]是:
先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为dl的倍数的记录放在同一个组中。先在各组内进行直接插人排序;然后,取第二个增量d2
可以根据下图形象理解:
(1)初始增量为3,该数组分为...
分类:
编程语言 时间:
2015-06-04 10:00:45
阅读次数:
193
希尔排序又称“缩小增量排序”。它的基本思想如下:先将整个待排记录序列分成若干个子序列分别进行直接插入排序,等到整个序列中的记录“基本有序”了,再对全体记录进行一次直接插入排序。算法实现:我们这里简单处理增量序列:增量序列d={n/2,n/4,n/8....1}n为要排序数的个数。即:先将要排序的一组...
分类:
编程语言 时间:
2015-06-02 11:08:01
阅读次数:
214
shell排序是插入排序的改进方法,但是不稳定#include
using namespace std;
void insertDxSort(int *data,int start,int end,int dx)
{ //以增量dx进行增量排序
int key=0;
int j=0;
for(int i=start+dx;i<=end;i+=dx)
{...
分类:
编程语言 时间:
2015-05-16 20:38:30
阅读次数:
109
分类: 白话经典算法系列 2011-08-08 11:41 47406人阅读 评论(46) 收藏 举报 算法shell优化c希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量....
分类:
编程语言 时间:
2015-05-12 22:43:38
阅读次数:
138
希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。希尔排序是基于插入排序的以下两点性质而提出改进方法的:插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位基本思想:希尔排序把...
分类:
编程语言 时间:
2015-05-12 18:31:10
阅读次数:
126