码迷,mamicode.com
首页 >  
搜索关键字:希尔    ( 1342个结果
JAVA数据结构--希尔排序
希尔排序通过将比较的全部元素分为几个区域来提升插入排序的性能。这样可以让一个元素可以一次性地朝最终位置前进一大步。然后算法再取越来越小的步长进行排序,算法的最后一步就是普通的插入排序,但是到了这步,需排序的数据几乎是已排好的了(此时插入排序较快)。 假设有一个很小的数据在一个已按升序排好序的数组的末 ...
分类:编程语言   时间:2017-10-16 23:23:56    阅读次数:259
排序算法-(3)直接插入排序
插入排序包括:直接插入排序,二分插入排序(折半插入排序),链表插入排序,希尔排序。 今天介绍的是直接插入排序。 直接插入排序 在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。 ...
分类:编程语言   时间:2017-10-16 13:33:52    阅读次数:215
2017 10 14(吐槽初赛)
这里是一个山东省的提高组蒟蒻。 首先要吐槽试卷下面印的“CCF NOIP2016”。。。出题人怕不是活在去年。 单选题: 1.我一个C++党为什么要管Pas什么时候退出.jpg 4.对于某些人来说,这是一道历史题 10.数列极限是省选内容啊喂 不定项选择: 3.希尔排序是个啥? 4.Fortran是 ...
分类:其他好文   时间:2017-10-14 21:19:09    阅读次数:151
排序算法学习
都工作2年了还去看排序算法,是不是有点low?是的,不过咱不会,就得看,还是有些东西值得一观的,我看的是《算法》这鸟书。 排序算法大概讲了,冒泡算法,选择算法,插入算法,希尔算法,归并算法,快排算法,三向切分快排算法,接着讲了优先队列,堆排序,索引优先队列,然后扯皮了几种排序算法的归约(归约是指为解 ...
分类:编程语言   时间:2017-10-13 17:13:12    阅读次数:284
排序算法小结(转载自http://www.cnblogs.com/Jocelyn66/)
不稳定的排序算法:选择排序、快速排序、希尔排序、堆排序 稳定的排序算法:冒泡排序、插入排序、归并排序、基数排序 一、时间复杂度 1、冒泡法: 复杂度为O(n*n)。当数据为正序,将不会有交换。复杂度为O(0)——这是最原始、最慢的排序算法 2、直接插入排序:O(n*n) 3、选择排序:O(n*n) ...
分类:编程语言   时间:2017-10-13 12:27:13    阅读次数:145
不同角度看排序
1 按照排序特性分类 首先按照排序本身的操作特性可以分为下面几种: (1)插入排序 a.直接插入排序(Insert Sort) O(n^2)(稳定) b.折半插入排序(Binary Insert Sort) (不稳定) c.希尔排序(Shell Sort) (不稳定) (2)交换排序 a.冒泡排序( ...
分类:编程语言   时间:2017-10-13 00:43:52    阅读次数:311
八大排序
(1)直接插入排序:一般插入排序,比较是从有序序列的最后一个元素开始,如果比它大则直接插入在其后面,否则一直往前比。 如果找到一个和插入元素相等的,那么就插入到这个相等元素的后面。 插入排序是 稳定的。 (2)希尔排序:希尔排序是按照不同步长对元素进行插入排序,一次插入排序是稳定的,不会改变相同元素 ...
分类:编程语言   时间:2017-10-13 00:37:16    阅读次数:201
图解排序算法(二)之希尔排序
图解排序算法(二)之希尔排序 希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序,同时该算法是冲破O(n2)的第一批算法之一。本文会以图解的方式详细介绍希尔排序的基本思想及其代码实现。 ...
分类:编程语言   时间:2017-10-12 19:21:54    阅读次数:261
冒泡 希尔 快速 插入 堆 基数
一,冒泡排序 冒泡排序的时间复杂度为O(n²),在数据比较小的情况下各个算法效率差不多。 二,希尔排序 希尔排序如此短小精悍的代码。其效率很多时候并不输给快速排序其时间复杂度为O(nlogn)。 三,快速排序 正如其名快速排序,其效率也是比较高的,时间复杂度为O(nlogn)。 其算法思想是每次确定 ...
分类:其他好文   时间:2017-10-12 16:59:04    阅读次数:163
java希尔排序
代码来自码云 public static void shellSort(int[] arr){ //初始化增量 int h = 1; //计算最大间隔,公式:h = h * 3 + 1 while(h < arr.length / 3){ h = h * 3 + 1; } //缩小增量进行排序 wh ...
分类:编程语言   时间:2017-10-11 15:15:58    阅读次数:176
1342条   上一页 1 ... 43 44 45 46 47 ... 135 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!