插入排序分为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
归并排序的数组实现 1 //折半插入排序 2 void insertSort_Binary(int *arr, int len) 3 { 4 int i, j;//工作指针 5 int low, mid, high;//折半查找指针 6 int current;//暂存待插入...
分类:
编程语言 时间:
2015-04-13 22:37:34
阅读次数:
129
折半插入排序法,又称二分插入排序法,是直接插入排序法的改良版,也需要执行i-1趟插入,不同之处在于,第i趟插入,先找出第i+1个元素应该插入的的位置,假定前i个数据是已经处于有序状态。折半插入排序(binaryinsertionsort)是对插入排序算法的一种改进,由于排序算法过程中..
分类:
编程语言 时间:
2015-04-09 17:51:40
阅读次数:
143
1.插入类排序在一个已经有序的序列中,插入一个新的记录。有直接插入排序、折半插入排序、希尔排序。插入类排序直接插入排序 1 void InsertSort(int R[], int n) 2 { 3 int i, j; 4 int temp; 5 for (i = 1; i ...
分类:
编程语言 时间:
2015-03-31 19:37:43
阅读次数:
176
插入算法很多,无论是在内功修炼,各种笔试面试都是相当有用的。接下来,将陆续将各种排序算法进行练习:
主要分为以下几个部分(其他后面学习补充):
一、插入类排序:1、直接插入排序;2、折半插入排序;3、希尔shell排序;
二、交换类排序:1、冒泡排序 ;2、快速排序;
三、选择类排序:1、简单选择; 2、堆排序;
本人多使用Java——开始吧!
首先推荐维基百科《排序算法》词条...
分类:
编程语言 时间:
2015-03-20 12:55:22
阅读次数:
187
下面是常见排序算法的速度比较:(从慢到快)
1、冒泡排序O(N^2)
2、简单选择排序O(N^2)
3、直接插入排序O(N^2)
4、折半插入排序O(N^2)
5、希尔排序,近似为O(N^1.25) (尚无定论,但可以确定是N~N^2之间的多项式时间复杂度)
6、堆排序O(NlogN)
7、归并排序O(NlogN)
8、快速排序O(NlogN)
一般来说是快排最快的。但是...
分类:
编程语言 时间:
2015-01-29 09:34:09
阅读次数:
274