直接插入排序 要理解shell排序,首先要把直接插入排序的基础打扎实。 学习资料:白话经典算法系列之二 直接插入排序的三种实现、直接插入排序 根据我的思路,直接插入排序设置3重循环。 循环1:对 i=【无序序列】∈[ 1 , length ) 进行遍历。 循环2:对 j=【有序序列】∈[ 0 , i ...
分类:
编程语言 时间:
2017-10-10 14:29:43
阅读次数:
232
一看今天的题 T1 bzoj1528 T2 poj2948 T3poj2828 做你******************************************************** 本来想打开电脑上的希尔薇 然后看T3 这他喵的不是线段树吗 然后毅然拿出了自己祖传的ZKW线段树 #i ...
分类:
其他好文 时间:
2017-10-02 13:57:51
阅读次数:
151
八大算法原理详解 交换函数:注意要按引用传递,否则无法真正交换两个数的值 1、直接插入算法 2、希尔排序算法【暂缺】 3、直接选择排序算法 4、堆排序算法【暂缺】 5、冒泡排序算法 6、快速排序算法 7、归并排序算法【注意:数组按值传输】 8、基数排序算法【暂缺】 ...
分类:
编程语言 时间:
2017-10-01 17:38:31
阅读次数:
370
希尔排序的基本思想 ①希尔排序又称缩小增量排序 ,它本质上是一个插入排序算法。为什么呢? 因为,对于插入排序而言,插入排序是将当前待排序的元素与前面所有的元素比较,而希尔排序是将当前元素 与前面增量位置上的元素进行比较,然后,再将该元素插入到合适位置。当一趟希尔排序完成后,处于增量位置上的元素是有序 ...
分类:
编程语言 时间:
2017-09-30 10:06:28
阅读次数:
137
http://www.gatsby.ucl.ac.uk/~gretton/coursefiles/RKHS2013_slides1.pdf RKHS: a function space with a very special structure ...
分类:
其他好文 时间:
2017-09-29 00:16:13
阅读次数:
139
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
Java排序算法(一):概述 排序是程序开发中一种非常常见的操作,对一组任意的数据元素(或记录)经过排序操作后,就可以把他们变成一组按关键字排序的有序队列。 对于排序算法从以下几点去衡量算法的优劣: 对于排序算法的分类: 外部排序: 多路归并排序 败者树 内部排序: 插入排序:直接插入排序,希尔排序 ...
分类:
编程语言 时间:
2017-09-27 14:26:19
阅读次数:
223
对n较大的排序记录。一般的选择都是时间复杂度为O(nlog2n)的排序方法。 时间复杂度来说: (1)平方阶(O(n2))排序 各类简单排序:直接插入、直接选择和冒泡排序;(2)线性对数阶(O(nlog2n))排序 快速排序、堆排序和归并排序;(3)O(n1+§))排序,§是介于0和1之间的常数。 ...
分类:
编程语言 时间:
2017-09-26 23:46:06
阅读次数:
335
目录(?)[-] 冒泡排序 选择排序 1 直接插入排序 1 二分查找插入排序 希尔入排序 快速排序 归并排序 总结 目录(?)[-] 本篇博客知识点 分别描述了 冒泡,选择,直接插入,二分插入,希尔,快速以及归并排序。同时还有Java实现代码,算法分析和示意图 冒泡排序 算法描述 设待排序记录序列中 ...
分类:
编程语言 时间:
2017-09-26 14:54:21
阅读次数:
199
算法有很多种分类,我们一种一种来,先来看看插入排序,插入排序的意思是在拿到一个新的数前,之前的序列已经排好,现在的任务就是找到这个新的数字在序列中的位置,这就需要一个个去比较,直到找到一个位置满足要求。插入排序又分为两类。 1、直接插入排序,直接插入排序,名副其实,从序列的第二个数开始,依次与前面已 ...
分类:
编程语言 时间:
2017-09-24 14:33:44
阅读次数:
142