E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
shell排序
Shell排序
Shell排序
:一种插入排序。距离的概念:两个数之间的间隔i个数,这两个数的距离就为i例如:1,2,3,4,5,6,7,8。1和2的距离为1;1和3的距离为2。
liangzhaoyang1
·
2016-04-06 15:00
shell排序
经典算法与数据结构的c++实现——
shell排序
算法
shell排序
算法,是插入算法的一种改进,降低时间复杂度,不同选取gap的方式将改变算法的实现,我这里的采取的判断gap值,保持gap为奇数。
y277an
·
2016-03-17 20:00
排序算法——
shell排序
原理将排序数组分成若干个子序列(这个取决于最初设定的步长值),然后对各个子序列之间进行直接插入排序,最后再缩小增量(即步长值)再进行插入排序,直到序列顺序基本稳定(步长足够小)时,对这种序列进行一次直接插入排序,在排序状况较好时,直接插入排序的效率还是挺高的。分析在最坏的情况下,每个数字在每次比较的过程总都会被比较一次,所以在最坏的情况下其时间复杂度O(n2)。在最好的情况下,只比较一次,序列就基
A嘴角上扬
·
2016-03-15 22:12
C语言
排序算法
希尔排序
算法
排序算法――
shell排序
原理将排序数组分成若干个子序列(这个取决于最初设定的步长值),然后对各个子序列之间进行直接插入排序,最后再缩小增量(即步长值)再进行插入排序,直到序列顺序基本稳定(步长足够小)时,对这种序列进行一次直接插入排序,在排序状况较好时,直接插入排序的效率还是挺高的。分析 在最坏的情况下,每个数字在每次比较的过程总都会被比较一次,所以在最坏的情况下其时间复杂度O(n2)。在最好的情况下,只比较一次,序
A嘴角上扬
·
2016-03-15 22:12
希尔排序
C语言
排序算法
排序算法——
shell排序
原理将排序数组分成若干个子序列(这个取决于最初设定的步长值),然后对各个子序列之间进行直接插入排序,最后再缩小增量(即步长值)再进行插入排序,直到序列顺序基本稳定(步长足够小)时,对这种序列进行一次直接插入排序,在排序状况较好时,直接插入排序的效率还是挺高的。分析在最坏的情况下,每个数字在每次比较的过程总都会被比较一次,所以在最坏的情况下其时间复杂度O(n2)。在最好的情况下,只比较一次,序列就基
A嘴角上扬
·
2016-03-15 22:23
C语言
排序算法
希尔排序
算法
排序算法――
shell排序
原理将排序数组分成若干个子序列(这个取决于最初设定的步长值),然后对各个子序列之间进行直接插入排序,最后再缩小增量(即步长值)再进行插入排序,直到序列顺序基本稳定(步长足够小)时,对这种序列进行一次直接插入排序,在排序状况较好时,直接插入排序的效率还是挺高的。分析 在最坏的情况下,每个数字在每次比较的过程总都会被比较一次,所以在最坏的情况下其时间复杂度O(n2)。在最好的情况下,只比较一次,序
A嘴角上扬
·
2016-03-15 22:23
希尔排序
C语言
排序算法
排序算法:希尔排序
//
shell排序
/*基本思想:将序列分成几类,在类里将它分成几个小组,再让它在小组内进行排序,依次重复直至排序成功1,找出间距gap(分类)最后间距分类必须为1,第一重循环2,找出各组,组间循环,第二重循环
qq_26525215
·
2016-03-07 16:00
插入排序
希尔排序
排序算法
基本排序算法总结(C/C++)
基本排序算法分为五类:①交换排序(冒泡排序、快速排序)②插入排序(直接插入排序、
Shell排序
)③基数排序④归并排序⑤堆排序(简单选择排序、堆排序)下面直接上代码:#include #include #
Jammg
·
2016-03-06 19:00
shell排序
参考这篇文章http://blog.csdn.net/gulianchao/article/details/8581210
Shell排序
也叫做希尔排序或者缩小增量排序,是DL.Shell于1959年针对直接插入排序算法改进提出的
lfdanding
·
2016-03-05 16:00
算法
shell
插入排序
排序算法总结之快速排序、归并排序、
shell排序
快速排序:快排效率高,时间复杂度最理想为O(nlogn),最差时间为O(n^2),该算法不稳定。其主要思想如下:快排是每次将序列第一个数当作一个参考值,分别将比参考值大的数放到参考值右侧,小于参考值的数放到参考值左边,将序列一分为二,对得到的两个数列再分别进行上述操作,直到排序完成。实现过程:快排程序:归并(分治)排序:归并排序实质上是对将序列拆分为有序序列,然后对有序序列进行合并,时间复杂度为O
Dandelion_gong
·
2016-03-04 23:19
算法
排序算法总结之快速排序、归并排序、
shell排序
快速排序:快排效率高,时间复杂度最理想为O(nlogn),最差时间为O(n^2),该算法不稳定。其主要思想如下:快排是每次将序列第一个数当作一个参考值,分别将比参考值大的数放到参考值右侧,小于参考值的数放到参考值左边,将序列一分为二,对得到的两个数列再分别进行上述操作,直到排序完成。实现过程:快排程序:归并(分治)排序:归并排序实质上是对将序列拆分为有序序列,然后对有序序列进行合并,时间复杂度为O
Dandelion_gong
·
2016-03-04 23:00
算法
shell
归并排序
快速排序
排序算法
排序算法之
shell排序
基本思想设初始序列有n个元素,选定一个小于n大于或等于1的整数gap作为间隔,将全部元素分成gap个子序列,所有距离为gap的元素放在同一个子序列中,在每个子序列中分别采用直接插入算法进行排序;然后缩小间隔gap,如令gap=gap/2,重复上面的子序列划分和子序列排序动作;直到最后去gap=1,将所有的元素放到一个序列中为止。简单示例初始序列:21254925168第一步:第二步:第三步:voi
ljlstart
·
2016-03-02 10:00
各种排序的排序思想和实现
今天主要和大家讨论八大排序算法,包括冒泡排序、插入排序、选择排序、
shell排序
、归并排序、快速排序、计数排序、堆排序。通过和大家的讨论,相信对大家的在今后的学习和面试肯定会有很大的帮助。
ooooo12345re
·
2016-02-27 20:00
java 交换排序之(冒泡排序、快速排序)
(本文所有排序只针对值排序,关于对象排序问题待续.....)1.插入排序(直接插入排序、二分法插入排序、表插入排序、
shell排序
)2.选择排序(直接选择排序、堆排序)3.交换排序(冒泡排序、快速排序)
LMB520Q
·
2016-02-26 14:22
java
sort
冒泡排序
java
基础
java 交换排序之(冒泡排序、快速排序)
(本文所有排序只针对值排序,关于对象排序问题待续.....)1.插入排序(直接插入排序、二分法插入排序、表插入排序、
shell排序
)2.选择排序(直接选择排序、堆排序)3.交换排序(冒泡排序、快速排序)
LMB520Q
·
2016-02-26 14:22
java
冒泡排序
sort
内部排序的几种方法的比较
内部排序的几种方法的比较 最坏时间复杂度 平均时间复杂度 空间复杂度 稳定排序 其它特点冒泡排序快速排序插入排序
shell排序
选择排序堆排序归并排序基数排序http
michael
·
2016-02-21 21:33
js实现
shell排序
//
shell排序
配插入排序functionshell_insert_sort(arr){ vargap=arr.length; do{ gap=parseInt(gap/3)+1; console.log
天空中的蜂蜂
·
2016-02-21 11:00
python排序-希尔排序
Shell排序
利用分组加速部分有序数组排序,分组定长跳跃冒泡希尔排序的时间性能优于直接插入排序的原因:①当文件初态基本有序时直接插入排序所需的比较和移动次数均较少。
小沙
·
2016-02-15 21:00
Shell排序
的递增序列
希尔排序的效率取决于算法中的递增序列,下面记下两种实际问题中常用的递增序列,以便以后查阅。1、intN=a.length;inth=1;while(h
LuodiJack
·
2016-02-12 12:37
排序五之希尔排序(缩小增量排序)
对于遇到大量的数据需要排序时,
Shell排序
便是其他更为高效的算法之一。Sell排序算法严格来说基于插入排序的思想,又称希尔排序或缩小增量排序。
Pursue_success
·
2016-02-03 14:00
希尔排序ShellSort
Shell排序
又称作缩小增量排序。1、算法思想 先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为dl的倍数的记录放在同一个组中。
u010887744
·
2016-01-04 23:00
算法
shell
希尔排序
排序算法
C++ 回调函数理解
如果想知道回调函数在实际中有什么作用,先假设有这样一种情况,我们要编写一个库,它提供了某些排序算法的实现,如冒泡排序、快速排序、
shell排序
、sh
clirus
·
2015-12-18 13:55
回调函数
静态成员函数
C++
C/C++
【数据结构】——排序算法——1.1、直接插入排序
接下来,将陆续将各种排序算法进行练习: 主要分为下面几个部分(其它后面学习补充): 一、插入类排序:1、直接插入排序(折半插入排序);2、希尔
shell排序
;3、二叉树排序; 二、交换类排序
·
2015-11-13 19:44
数据结构
ACM常用经典算法
时间复杂度(渐近时间复杂度的严格定义,NP问题,时间复杂度的分析方法,主定理) 排序算法(平方排序算法的应用,
Shell排序
,快速排序,归并排序,时间复杂度下界,三种线性时间排
·
2015-11-13 15:04
ACM
ACM 常用经典算法
时间复杂度(渐近时间复杂度的严格定义,NP问题,时间复杂度的分析方法,主定理) 排序算法(平方排序算法的应用,
Shell排序
,快速排序,归并排序,时间复杂度下界,三种线性时间排
·
2015-11-13 14:51
ACM
面试算法之排序算法集锦
基本的排序算法有:直接插入排序,冒泡排序,简单选择排序,
shell排序
,归并排序,快速排序,堆排序。其中归并,快速,堆排序是面试时候比较喜欢考的,因为这
·
2015-11-13 14:22
排序算法
常见排序算法:
shell排序
shell排序
是对插入排序的一个改装,它每次排序把序列的元素按照某个增量分成几个子序列,对这几个子序列进行插入排序,然后不断的缩小增量扩大每个子序列的元素数量,直到增量为一的时候子序列就和原先的待排列序列一样了
·
2015-11-13 14:18
shell
JAVA实现
Shell排序
Shell排序
可以理解为插入排序的变种,它充分利用了插入排序的两个特点: (1). 当数据规模小的时候非常高效。 (2).
·
2015-11-13 13:06
java实现
C / C++算法学习笔记(8)-
SHELL排序
原始地址: C / C++算法学习笔记(8)-
SHELL排序
基本思想 先取一个小于n的整数d1作为第一个增量(gap),把文件的全部记录分成d1个组。
·
2015-11-13 12:17
shell
插入排序与
shell排序
(希尔排序)
1 .插入排序的过程如同我们平时打扑克牌取牌插入的过程,不断将取出的扑克牌插入已经排好的地方。 插入排序过程初始有序区间大小为1,取出无序区间的首元素,查找有序区间的合适位置,进行插入。不断重复上述过程,即可完成操作。 图解示例 1 //插入排序 2 //karllen @2015 3 void insertSort() 4 { 5 int
·
2015-11-13 05:41
shell
希尔排序
Shell排序
又称作缩小增量排序。 基本思想: 不断把待排序的对象分成若干个小组,对同一小组内的对象采用直接插入法排序,当完成了所有对象都分在一个组内的排序后,排序过程结束。
·
2015-11-13 03:37
希尔排序
Java数组的一些基本算法
;求每一轮的最小值;再输出 冒泡排序: 相邻的两个数相比较,把两个数相比较,第一个大于好面的就交换位置
shell
·
2015-11-13 02:04
java数组
shell sort
http://blog.sina.com.cn/s/blog_6d09b5750100x6zg.html 首先是
shell排序
实现多列排序,这里添加竖线以作分割,如下文件test: a|gggg
·
2015-11-13 02:11
shell
shell排序
算法
希尔排序(Shell Sort)又称为“缩小增量排序”。是1959年由D.L.Shell提出来的。该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的,因此希尔排序
·
2015-11-12 23:23
shell
ShellSort
Shell排序
希尔排序(Shell Sort)又称为“缩小增量排序”。是1959年由D.L.Shell提出来的。该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的,因此希尔排序
·
2015-11-12 19:27
shell
算法设计和数据结构学习_2(常见排序算法思想)
对常见的排序算法的思想要有个认识,比如说:冒泡排序,选择排序,插入排序,快速排序,
shell排序
,堆排序,归并排序,基排序。 算法的稳定性是看原先数据中相同的元素值的
·
2015-11-12 18:54
数据结构
数据结构学习——
shell排序
的C语言实现
shell排序
: 这个排序的命名是来自发明者的名字,和排序的方法没有字面上的联系。所以不要因为名字而感觉很难。在K&R的C程序设计语言中书中只用了几行代码很简洁的实现了这个排序算法。
·
2015-11-11 12:15
shell
排序算法总结(C语言版)
插入排序 1.1 直接插入排序 1.2
Shell排序
2.
·
2015-11-11 01:55
排序算法
三大初级排序算法
3.
shell排序
(希尔排序)
Shell排序
通过将数据分成不同的组,先对每一组进行排序,然后再对所有的元素进行
·
2015-11-08 16:54
排序算法
8 排序--选择排序,插入排序,冒泡排序,
shell排序
,快速排序(递归,迭代,改进版本),归并排序
排序 排序是使数据有序化的操作。这里的数据包括关键字和其它信息项,关键字用来控制排序。排序使得数据有序化,实际上是使数据按关键字的某个定义明确的顺序规则排列。如果被排序的数据在内存中,那么这个排序方法就叫做内排序;如果数据来自磁盘则叫做外部排序。其中内部排序能很容易访问任何数据项,而外排序必须顺序地访问数据项。本章我们主要讨论内部排序。 对于内部排序,数据在内存中的存储方式分为数组和链表两种。
·
2015-11-07 12:37
shell
各种排序算法时间复杂度、稳定性、初始序列是否对元素比较次数有关
怎么记忆稳定性: 总过四大类排序:插入、选择、交换、归并(基数排序暂且不算) 比较高级一点的(时间复杂度低一点得)
shell排序
,堆排序,快速排序(除了归并排序)都是不稳定的,在加上低一级的选择排序是不稳定的
·
2015-11-07 11:02
时间复杂度
ACM必备(学完一个就加亮一个)不多,就这些!
时间复杂度(渐近时间复杂度的严格定义,NP问题,时间复杂度的分析方法,主定理) 排序算法(平方排序算法的应用,
Shell排序
,快速排序,归并排序,时间复杂度下界,三种线性时间排 
·
2015-11-02 19:01
ACM
希尔排序
Shell排序
又称作缩小增量排序。 基本思想: 不断把待排序的对象分成若干个小组,对同一小组内的对象采用直接插入法排序,当完成了所有对象都分在一个组内的排序后,排序过程结束。
·
2015-11-01 09:55
希尔排序
shell排序
代码
#include <iostream> using namespace std; void ShellQin(int A[],int n) { int gap=n/2; int i,j; for(;gap>0;gap=gap/2)//设置初始gap,按照gap进行分组,gap按照gap/2递减 { //设置好
·
2015-10-31 16:59
shell
希尔排序 Java版
shell排序
的基本思想[1]是: 先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为dl的倍数的记录放在同一个组中。
jianfpeng241241
·
2015-10-31 14:00
Shell排序
(改良的插入排序)
Shell排序
算法最初是由D.L Shell于1959年提出,假设要排序的元素有n个,则每个进行插入排序是并不是所偶的元素同时进行,而是去一段间隔。
·
2015-10-31 11:57
shell
ACM/ICPC要求的知识点
ACM/ICPC要求的知识点 时间复杂度(渐近时间复杂度的严格定义,NP问题,时间复杂度的分析方法,主定理) 排序算法(平方排序算法的应用,
Shell排序
,快速排序,归并排序,
·
2015-10-31 11:08
ICPC
java实现插入排序
插入排序是一种通过不断地把新元素插入到已排好序的数据中的排序算法,常用的插入排序算法包括直接插入排序和
shell排序
,直接插入排序实现比较简单,时间复杂度是O(n),但是直接插入没有充分的利用已插入的数据已经排序这个事实
·
2015-10-31 11:40
java实现
三白话经典算法系列
Shell排序
实现
山是包插入的精髓排序排序。这种方法,也被称为窄增量排序,因为DL.Shell至1959提出命名。 该方法的基本思想是:先将整个待排元素序列切割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。 由于直接插入排序在元素基本有序的情况下(接近最好情况),效率
·
2015-10-31 10:54
shell
插入排序之
Shell排序
(java实现)
import java.util.Arrays; public class ShellSort { public static void shellSort(DataWraper[] data){ System.out.println("开始排序:&qu
·
2015-10-31 10:33
java实现
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他