算法:希尔排序 快速开始 百科解释 希尔排序(Shell's Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因D.L.Shell于1959年提出而得名。 希尔排序是基于 ...
分类:
编程语言 时间:
2018-04-07 18:58:58
阅读次数:
197
原创博文,转载请注明出处!本文代码的github地址# 基本思路 希尔排序是”直接插入排序“的改进版,也称为“缩小增量排序”。基本原理:先将待排序的数组元素分成多个序列,使得每个子序列的元素个数相对较小,然后对每个子序列分别进行直接插入排序,带整个待排序序列基本有序后,最后再对多有元素进行一次直接插... ...
分类:
编程语言 时间:
2018-04-06 14:01:32
阅读次数:
154
1.排序算法 交换类排序 - 冒泡排序 鸡尾酒排序 奇偶排序 梳子排序 侏儒排序 快速排序 臭皮匠排序 Bogo排序 选择类排序 - 选择排序 堆排序 Smooth排序 笛卡尔树排序 锦标赛排序 圈排序 插入类排序 - 插入排序 希尔排序 二叉查找树排序 图书馆排序 耐心排序 归并类排序 - 归并排 ...
分类:
编程语言 时间:
2018-04-04 15:05:03
阅读次数:
127
前言 由于写的文章已经是有点多了,为了自己和大家的检索方便,于是我就做了这么一个博客导航。 由于更新比较频繁,因此隔一段时间才会更新目录导航哦~ 想要获取最新原创的技术文章欢迎关注我的公众号:Java3y Java基础 "泛型就这么简单" "注解就这么简单" "Druid数据库连接池就是这么简单" ...
分类:
编程语言 时间:
2018-04-03 17:14:44
阅读次数:
239
$\hat{m}(t)$ 为 $m(t)$ 的希尔伯特变换,他们之间的时域与频域关系为$$ \hat{m}(t)=m(t) * \frac{1}{\pi t} \\ \hat{M}(\omega)=M(\omega)[-j\ sgn(\omega)] $$ $cos \omega_c t$ 的希尔伯 ...
分类:
其他好文 时间:
2018-03-29 21:13:20
阅读次数:
175
本文章包括所有基本排序算法(和其中一些算法的改进算法): 直接插入排序、希尔排序、直接选择排序、堆排序、冒泡排序、快速排序、归并排序、基数排序。 算法复杂度比较: 算法分类 一、直接插入排序 一个插入排序是另一种简单排序,它的思路是:每次从未排好的序列中选出第一个元素插入到已排好的序列中。 它的算法 ...
分类:
编程语言 时间:
2018-03-28 14:19:41
阅读次数:
236
前言 大概花了一周的时间把八大基础排序过了一遍,这篇博文主要是用来回顾一下八大基础排序的要点和一些总结~ 回顾: "冒泡排序就这么简单" "选择排序就这么简单" "插入排序就这么简单" "快速排序就这么简单" "归并排序就这么简单" "堆排序就这么简单" "希尔排序就这么简单" "基数排序就这么简单 ...
分类:
编程语言 时间:
2018-03-27 12:29:07
阅读次数:
228
最近想复习下C++,很久没怎么用了,毕业时的一些经典排序算法也忘差不多了,所以刚好一起再学习一遍。 除了冒泡、插入、选择这几个复杂度O(n^2)的基本排序算法,希尔、归并、快速、堆排序,多多少少还有些晦涩难懂,幸好又博客园大神dreamcatcher-cx都总结成了图解,一步步很详细,十分感谢。 而 ...
分类:
编程语言 时间:
2018-03-27 10:23:40
阅读次数:
261
一、插入排序 1、思想:原理类似抓扑克牌,在有序表中进行插入和查找,插入合适的位置时,之后的元素需要往后移动 2、时间复杂度: 最好:O(N),正序情况,只有比较时间,无移动时间 最坏:O(N2),逆序情况 平均:O(N2) 3、辅助空间:O(1) 4、稳定性:稳定 5、适用场合:适用于初始序列基本 ...
分类:
编程语言 时间:
2018-03-25 18:10:39
阅读次数:
209
一、基数排序 import random from timewrap import * def list_to_buckets(li, iteration):#这个是用来比较每个位置的大小的数字 """ 因为分成10个本来就是有序的所以排出来就是有序的。 :param li: 列表 :param i ...
分类:
编程语言 时间:
2018-03-24 16:27:28
阅读次数:
204