一、插入排序
插入排序就是将一个待排数据按其大小插入到一个有序表的适当位置,并插入后仍有序。分为三类:直接插入排序;折半
插入排序;希尔插入排序。
【直接插入排序】
例如,把{4,3,1,2}进行排序,算法过程见图:
通常,有序的序表是r[1]、r[2].....,而r[0]是哨兵,用于存放需要排序的数据,属于赋值空间。
所以,算法时间复杂度是:...
分类:
编程语言 时间:
2015-07-15 11:17:18
阅读次数:
146
数据结构中常见的内部排序算法: 插入排序:直接插入排序、折半插入排序、希尔排序 交换排序:冒泡排序、快速排序 选择排序:简单选择排序、堆排序 归并排序、基数排序、计数排序直接插入排序: 思想:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中,直到全部记录插入完成。 性...
分类:
编程语言 时间:
2015-07-14 13:10:31
阅读次数:
211
一、折半插入排序(二分插入排序)
将直接插入排序中寻找A[i]的插入位置的方法改为采用折半比较,即可得到折半插入排序算法。在处理A[i]时,A[0]……A[i-1]已经按关键码值排好序。所谓折半比较,就是在插入A[i]时,取A[i-1/2]的关键码值与A[i]的关键码值进行比较,如果A[i]的关键码值小于A[i-1/2]的关键码值,则说明A[i]只能插入A[0]到A[i-1/2]之间,故...
分类:
编程语言 时间:
2015-06-24 14:40:37
阅读次数:
147
数据结构排序算法总结这章的内容比较经典,都是一些很好的算法,将来很可能会用得到,总结一下,加深一下印象。文章篇幅有点大。 一:插入排序 1)直接插入排序 2)折半插入排序3)希尔排序二、交换排序1)冒泡排序 2)快速排序三、选择排序1)简单选择排序 2)堆排序 四、归并排序五、基数排序一、插入排序....
分类:
编程语言 时间:
2015-06-22 21:58:51
阅读次数:
250
插入排序 给出一下四种方法:
直接插入排序,折半插入排序,二路插入排序,希尔插入排序
代码实现:
#include
using namespace std;
#define size 21
typedef int Sqlist[size];
void SInsertSort(Sqlist &L, int n) //直接插入
{
cout << "直接插...
分类:
编程语言 时间:
2015-06-17 15:30:06
阅读次数:
140
插入排序分为4种:
直接插入排序、折半插入排序、2-路插入排序、表插入排序、希尔排序。
下面我们来一一介绍:直接插入排序
过程叙述:先将序列中的第1个记录看成是一个有序的子序列,然后从第二个记录起逐个进行插入,直至整个序列变成按关键字非递减有序序列为止。第i趟直接插入排序的操作为:将记录r[i]插入到有序子序列{r[1],r[2]……r[i-1]}中(自i-1起往前搜索,同时后移记录,直至找到...
分类:
编程语言 时间:
2015-06-11 09:32:33
阅读次数:
216
折半插入排序(binary insertion sort)是对插入排序算法的一种改进,所谓排序算法过程,就是不断的依次将元素插入前面已排好序的序列中。折半插入排序(binary insertion sort)是对插入排序算法的一种改进,由于排序算法过程中,就是不断的依次将元素插入前面已排好序的序列中...
分类:
编程语言 时间:
2015-05-07 18:35:12
阅读次数:
152
转自http://www.cnblogs.com/kkun/archive/2011/11/23/2260265.html插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。插入排序方法分直接插入排序和折半插入排序两种,这里只介绍直接插入排序,折半插入排序留...
分类:
编程语言 时间:
2015-05-04 11:49:35
阅读次数:
170
// InsertSort.cpp : 定义控制台应用程序的入口点。
//插值排序
#include "stdafx.h"
#include
static int testArray[] = {0,55,33,22,99,77,66,11,44,88,9};//11个
//数组0号位置 作为 哨兵...
//升序排序
void insertSort(int * array,int num)...
分类:
编程语言 时间:
2015-05-02 15:15:56
阅读次数:
167
直接插入排序和折半插入排序
插入排序的基本思想是:在一个一排好序的记录的子集上的基础上,每一步将下一个待排序的记录有序的插入到已经排好序的记录子集中,直到将所有待排序的子集全部插入到序列中为止。
直接插入排序(straight insertion sort)的做法是:
每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。第一趟比较前两个数,然后把第二个数按大小插入...
分类:
编程语言 时间:
2015-04-24 09:10:58
阅读次数:
164