一、希尔排序:
(可以看做插入排序的升级,属于插入排序类)
基本思想:
将待排序列划分为若干组,在每一组内进行插入排序,以使整个序列基本有序,然后再对整个序列进行插入排序。
基本有序的概念:就是小的关键字基本在前面,大的基本在后面,不大不小的基本在中间。
基本有序举例:{ 2,1,3, 6,4,7, 5,8,9 }
划分为若干组的目的:减少待排序记录的个数,并使整个...
分类:
编程语言 时间:
2015-06-15 14:45:12
阅读次数:
156
复基带表示的初衷是载波不包含信息,只考虑基带信号即可。由于复基带信号的表示,所有带通信号信号均可以看成是基带信号。物理可实现的信号都是实数信号,复数信号不可实现。解析信号也叫做前包络。实部是原来信号,虚部是希尔伯特变换得到的。解析信号/前包络信号没有负频率分量。载频与中心频率是两把事。但一般差不多。...
分类:
其他好文 时间:
2015-06-14 01:49:55
阅读次数:
1319
你住在一所还算舒适的房子里,发现冰箱可能有问题。冰块有时会融化,门也关不严实。修理工差不多个把月就得过来修一次。你注意到,这冰箱既笨重又费电,你看上了希尔斯百货公司里面陈列的那些新款冰箱。是时候了,你立即出发,先到几个州看地块,考虑建一所新房。你请到贝聿铭和另外几位大建筑师,做了个初步设计。做这个花...
分类:
其他好文 时间:
2015-06-11 18:40:22
阅读次数:
92
插入排序分为4种:
直接插入排序、折半插入排序、2-路插入排序、表插入排序、希尔排序。
下面我们来一一介绍:直接插入排序
过程叙述:先将序列中的第1个记录看成是一个有序的子序列,然后从第二个记录起逐个进行插入,直至整个序列变成按关键字非递减有序序列为止。第i趟直接插入排序的操作为:将记录r[i]插入到有序子序列{r[1],r[2]……r[i-1]}中(自i-1起往前搜索,同时后移记录,直至找到...
分类:
编程语言 时间:
2015-06-11 09:32:33
阅读次数:
216
解密
Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:65536KB
Total submit users: 2, Accepted users: 0
Problem 11552 : No special judgement
Problem descrip...
分类:
编程语言 时间:
2015-06-08 23:22:44
阅读次数:
263
希尔排序又叫分组插入排序、缩小增量排序。
它通过比较相距一定间隔的元素来工作;各趟比较所用的距离随着算法的进行而减小,直到只比较相邻元素的最后一趟比较为止。
简单的说就是先将整个序列分割成若干子序列(由相隔某个增量的元素组成),分别进行插入排序。然后依次缩减增量再进行排序,待整个序列中元素基本有序时,再对全体元素就行一次插入排序(因为此时整个序列已经基本有序了,用插入排序效率比较高,子序列排序...
分类:
编程语言 时间:
2015-06-08 23:22:21
阅读次数:
161
常见排序算法包括以下七种:选择排序、冒泡排序、插入排序、快速排序、希尔排序、堆排序、归并排序。
在学习具体算法实现并进行比较前,先来学习算法比较的几个维度。
一是稳定性
所谓稳定性,是指值相等的两个元素在排序前后是否会发生位置的交换。如果不会发生交换,则认为是稳定的算法;反之,则认为是不稳定的排序算法。
二是时间复杂度,指执行算法所需的时间长短。简单说就是算法执行的快慢程序。
三是空间复杂...
分类:
编程语言 时间:
2015-06-08 11:40:43
阅读次数:
240
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 常见的内部排序算法有:插入排序、希尔排序...
分类:
编程语言 时间:
2015-06-05 12:31:50
阅读次数:
226
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。
常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。
本文将依次介绍上述八大排序算法。
算法一:插入排序
插入排序示意图
插入排序是一种最简单直观的排序算法,...
分类:
编程语言 时间:
2015-06-05 12:28:08
阅读次数:
137
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。本文将依次介绍上述八大排序算法。 算法一:...
分类:
编程语言 时间:
2015-06-05 11:55:25
阅读次数:
158