文章转载自http://www.cnblogs.com/chengxiao/ 希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序,同时该算法是冲破O(n2)的第一批算法之一。本文会以图 ...
分类:
编程语言 时间:
2017-07-18 23:09:01
阅读次数:
213
一、算法思想描写叙述 1、设置一定的步长 2、将整个序列根绝步长分成若干个子序列。对每一个子序列运行直接插入排序 3、反复步骤2。直到步长为1(包括1)二、算法分析 希尔排序,也叫缩小增量排序,是插入排序的一种,他对插入排序进行了一定的优化。 时间复杂度:一般觉得,在某些序列中能够达到O(n^1.3 ...
分类:
编程语言 时间:
2017-06-29 14:29:22
阅读次数:
138
基本思想 希尔排序是基于插入排序的,又叫缩小增量排序。 在插入排序中。标记符左边的元素是有序的,右边的是没有排过序的,这个算法取出标记符所指向的数据,存入一个暂时变量,接着,在左边有序的数组中找到暂时变量应该插入的位置,然后将插入位置之后的元素依次后移一位,最后插入暂时变量中的数据。 试想。假如有一 ...
分类:
编程语言 时间:
2017-06-18 15:14:10
阅读次数:
227
一、算法思想描写叙述 1、设置一定的步长 2、将整个序列根绝步长分成若干个子序列。对每一个子序列运行直接插入排序 3、反复步骤2,直到步长为1(包括1)二、算法分析 希尔排序。也叫缩小增量排序。是插入排序的一种。他对插入排序进行了一定的优化。 时间复杂度:一般觉得。在某些序列中能够达到O(n^1.3 ...
分类:
编程语言 时间:
2017-06-11 15:41:52
阅读次数:
233
的关系: 1、直接插入排序 (1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排 好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数 也是排好顺序的。如此反复循环,直到全部排好顺序。 (2)实例 (3)用java实现 2、希尔排序(最小增量排序) 3.简单选择排序 ...
分类:
编程语言 时间:
2017-06-08 11:58:55
阅读次数:
180
希尔排序又称缩小增量排序,这种排序方法先将整体的无序序列进行分组,设定每个组的大小为分组因子dk。分完组后,第i个和第i+dk个,i+2dk个,i+3dk个...元素为一个组。然后对这个组进行某种方式的排序,可以使用插入排序。 对每个组排完序之后,得到一个“有序程度”好一些的序列。然后缩小分组因子d ...
分类:
编程语言 时间:
2017-05-29 11:11:07
阅读次数:
209
算法简介 希尔排序是1959 年由D.L.Shell 提出来的,相对直接排序有较大的改进。希尔排序又叫缩小增量排序。 白话理解: 我们依然已排队为例,加入队伍中,有一些小个子站在了队伍的后面,而一些大个子又站在了队伍的前面,这是如果再使用插入排序,那就太没有效率了。通常情况下,老师会先看一眼,然后将 ...
分类:
编程语言 时间:
2017-05-17 21:32:57
阅读次数:
236
数据结构 - 希尔排序(Shell's Sort) 具体解释 及 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24363981 希尔排序(Shell's Sort), 又称"缩小增量排序"(Diminishing ...
分类:
编程语言 时间:
2017-05-15 13:01:15
阅读次数:
213
在第一篇博客中论述了几种排序的方法,这里再论述一下另外一种排序方法:希尔排序 希尔(Shell)排序又称为缩小增量排序,它是一种插入排序。它是直接插入排序算法的一种威力加强版。 希尔排序的基本思想是: 把记录按步长 gap 分组,对每组记录采用直接插入排序方法进行排序。 随着步长逐渐减小,所分成的组 ...
分类:
编程语言 时间:
2017-05-11 20:33:03
阅读次数:
209
希尔排序 希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。 希尔排序(Shell Sort)是将整个待排记录序列 (R1,R2,R3,……,Rn) 按增量 d 划分 ...
分类:
编程语言 时间:
2017-04-30 15:14:16
阅读次数:
366