码迷,mamicode.com
首页 >  
搜索关键字:希尔    ( 1342个结果
希尔排序算法的实现
希尔排序(Shell Sort)是插入排序的一种,它是针对直接插入排序算法的改进。该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。 希尔排序实质上是一种分组插入方法。它的基本思想是:对于n个待排序的数列,取一个小于n的整数gap(gap被称为步长)将待排序元素分成若干个组子序...
分类:编程语言   时间:2015-01-13 11:58:03    阅读次数:202
希尔排序
希尔排序 基本思想:先将整个待排序列分割成若干子序列分别进行直接插入排序,待整个序列中的记录基本有序时,再对全体记录进行一次直接插入排序。 代码实现: #include #include using namespace std; int n; void ShellInsert(int a[],int k) { int i,j; for(i=k+1;i<=n;i++) ...
分类:编程语言   时间:2015-01-12 11:34:04    阅读次数:176
各种排序算法(连载中。。。)
新博客开张,就拿排序算法开张吧。。。我尽量从最简单的排序算法开始,不定期连载更新中~ps:在我学会JAVA和C++之前,程序都用C来写吧,水平有限,大家凑和着看吧 重点是算法!~(图片来源于网络)目录:1.插入排序——直接插入排序。2.插入排序——希尔排序。3.选择排序——简单选择排序。4.选择排序...
分类:编程语言   时间:2015-01-10 23:32:52    阅读次数:188
各种排序的实现与复杂度分析(持续更新)
稳定性: 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法, 冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。 复杂度 冒泡法:  复杂度为O(n*n)。当数据为正序,将不会有交换。复杂度为O(0)。不说了。 直接插入排序:O(n*n) 希尔排序:算法的复杂度为n的1.2次幂 选择排序:O(n*n) 快速排序:不稳定,平均时间复杂度O(nlog...
分类:编程语言   时间:2015-01-10 01:09:47    阅读次数:222
各种排序算法python和java实现(二)
第一篇博客实现了三种最基本最简单的排序算法,本篇文章将在这三种算法的基础上稍微演变一下。 1.快排 光从名字看就知道速度肯定不差,前一篇讲的冒泡排序,怎么看都不算是一种好的排序算法,里面充斥了太多的无谓的交换动作,时间复杂度倒是很稳定o(n^2),但对于排序算法实在说不过去。快排是冒泡排序的改进版,思路就是分治,将一个序列随机按照某个值分成两个子序列,子序列A里面的值全部比该值大,另一个子序列...
分类:编程语言   时间:2015-01-09 23:47:36    阅读次数:443
迎战下周自考数据结构实践科目
编写完成重点数据结构和算法: 0.链表 1.栈 2.队列 3.二叉树数据结构和构建 4.前序中序后序遍历二叉树 5.构建哈夫曼树(最优二叉树) 6.图数据结构,图的深度优先遍历和广度优先遍历 7.拓扑排序 8.直接插入排序 9.希尔排序 10.希尔排序 11.冒泡排序 12.快速排序 13.直接选择...
分类:其他好文   时间:2015-01-07 01:50:00    阅读次数:205
插入类排序:直插,折半插,希尔
插入类排序:1:直接插入排序O(n^2) 2:折半插入排序O(n^2) 3:希尔排序 O(n乘以log以2为底,n的对数) 空间复杂度都是O(1) //直接插入排序 void InsertSort(int R[],int n) { int i,j; int tmp; for(i=1;i<n;i++)//数组下标从0开始,第一个有序,所以从1...
分类:编程语言   时间:2015-01-06 18:07:39    阅读次数:169
排序算法总结
排序算法注意点: 插入类排序:1:直接插入排序O(n^2)                         2:折半插入排序O(n^2) 3:希尔排序    O(n乘以log以2为底,n的对数) 空间复杂度都是O(1) 交换类排序:1:冒泡排序O(n^2),空间复杂度O(1)                         2:快速排序O(n乘以log以2为底,...
分类:编程语言   时间:2015-01-06 18:03:00    阅读次数:165
泛型的冒泡,插入,选择,希尔算法
留着给自己用吧... public class FanXingHelper where T:IComparable { /// /// 冒泡排序算法 /// /// public T[] MaoPao(T[] arra...
分类:编程语言   时间:2015-01-04 15:07:55    阅读次数:150
Shell排序(希尔)算法--java
Shell排序算法的时间复杂度分析比较复杂,实际所需的时间取决于各次排序时增量的个数和增量的取值。研究证明,若增量的取值比较合理,Shell排序算法的时间复杂度约为O(n(ldn)2)。由于Shell排序算法是按增量分组进行的排序,所以Shell排序算法是一种不稳定的排序算法。
分类:编程语言   时间:2015-01-03 14:37:08    阅读次数:230
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!