码迷,mamicode.com
首页 >  
搜索关键字:希尔    ( 1342个结果
经典排序算法---希尔排序
希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止 ...
分类:编程语言   时间:2016-05-19 13:15:37    阅读次数:129
自己写了个希尔排序
...
分类:编程语言   时间:2016-05-19 10:44:50    阅读次数:167
几种常见排序算法
JAVA当中有以下几种常见排序算法:插入排序(直接插入排序、链表插入排序、分段/二分/折半插入排序、希尔排序/缩小增量排序)、冒泡排序、快速排序、简单选择排序、归并排序、二叉树排序、基数排序等。 (1)复杂度比较 表1 几种常见排序算法的复杂度 算法名称 平均情况 最好情况 最坏情况 辅助空间 直接...
分类:编程语言   时间:2016-05-18 19:48:41    阅读次数:240
各种排序的总结
[内排序和外排序]内排序:指在排序期间数据对象全部存放在内存的排序。外排序:指在排序期间全部对象太多,不能同时存放在内存中,必须根据排序过程的要求,不断在内,外存间移动的排序。根据排序元素所在位置的不同,排序分: 内排序和外排序。内排序:在排序过程中,所有元素调到内存中进行的排序,称为内排序。内排序是排序的基础。内排序效率用比较次数来衡量。按所用策略不同,内排序又可分为插入排序(直接插入排序和希尔...
分类:编程语言   时间:2016-05-18 18:51:16    阅读次数:202
常见排序算法的实现(归并排序、快速排序、堆排序、选择排序、插入排序、希尔排序)
这篇博客主要实现一些常见的排序算法。例如: //冒泡排序 //选择排序 //简单插入排序 //折半插入排序 //希尔排序 //归并排序 //双向的快速排序 //单向的快速排序 //堆排序对于各个算法的实现原理,这里不再多说了,代码中注释较多,结合注释应该都能理解算法的原理,读者也可自己google一下。另外,注释中有很多点,比如边界条件、应用场景等已经用 * 标记,* 越多,越应...
分类:编程语言   时间:2016-05-18 18:37:48    阅读次数:257
基本排序算法<二>
希尔排序 原理:希尔排序也称之为递减增量排序,它是对插入排序的改进。在插入排序中,我们知道,插入排序对于近似已排好序的序列来说,效率很高,可以达到线性排序的效率。但是插入排序效率也是比较低的,他一次只能将数据向前移一位。比如如果一个长度为N的序列,最小的元素如果恰巧在末尾,那么使用插入排序仍需一步一 ...
分类:编程语言   时间:2016-05-17 21:17:11    阅读次数:292
插入排序(直接插入排序和希尔排序)
一、直接插入排序它的思想:每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。下面我来说一下我的思路:1.第一趟比较前两个数,然后把第二个数按大小插入到有序表中。2.第二趟把第三个数据与前两个数从前向后扫描,把第三个数按大小插入到有序表..
分类:编程语言   时间:2016-05-17 01:05:50    阅读次数:347
希尔排序
对于一个int数组,请编写一个希尔排序算法,对数组元素排序。 给定一个int数组A及数组的大小n,请返回排序后的数组。保证元素小于等于2000。 测试样例: 代码: ...
分类:编程语言   时间:2016-05-16 20:01:07    阅读次数:177
1342条   上一页 1 ... 81 82 83 84 85 ... 135 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!