码迷,mamicode.com
首页 >  
搜索关键字:希尔排序    ( 1112个结果
排序算法小结(转载自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
直接插入排序与缩小增量插入排序(希尔排序ShellSort)
直接插入排序 要理解shell排序,首先要把直接插入排序的基础打扎实。 学习资料:白话经典算法系列之二 直接插入排序的三种实现、直接插入排序 根据我的思路,直接插入排序设置3重循环。 循环1:对 i=【无序序列】∈[ 1 , length ) 进行遍历。 循环2:对 j=【有序序列】∈[ 0 , i ...
分类:编程语言   时间:2017-10-10 14:29:43    阅读次数:232
算法-PHP实现八大算法
八大算法原理详解 交换函数:注意要按引用传递,否则无法真正交换两个数的值 1、直接插入算法 2、希尔排序算法【暂缺】 3、直接选择排序算法 4、堆排序算法【暂缺】 5、冒泡排序算法 6、快速排序算法 7、归并排序算法【注意:数组按值传输】 8、基数排序算法【暂缺】 ...
分类:编程语言   时间:2017-10-01 17:38:31    阅读次数:370
希尔排序算法
希尔排序的基本思想 ①希尔排序又称缩小增量排序 ,它本质上是一个插入排序算法。为什么呢? 因为,对于插入排序而言,插入排序是将当前待排序的元素与前面所有的元素比较,而希尔排序是将当前元素 与前面增量位置上的元素进行比较,然后,再将该元素插入到合适位置。当一趟希尔排序完成后,处于增量位置上的元素是有序 ...
分类:编程语言   时间:2017-09-30 10:06:28    阅读次数:137
常用的基础算法总结之 希尔排序
package TT; public class Test206 { public static void shellSort(int[] data){ int h=1; while(h0){ for(int i =h; i=0 && tmp<data[j]){ data[j+h]=data[j];... ...
分类:编程语言   时间:2017-09-27 17:34:24    阅读次数:168
1112条   上一页 1 ... 37 38 39 40 41 ... 112 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!