http://www.cnblogs.com/archimedes/p/4014912.html
分类:
编程语言 时间:
2014-10-23 23:56:58
阅读次数:
234
插入排序算法主要有三种:直接插入排序、折半插入排序、希尔排序1、直接插入排序:/***直接插入排序,*1、从i-->length-1开始做插入扫描*2、初始化一个要插入的元素(1步骤中的)*3、从0-->i开始做插入排序操作*如果要插入的元素小于0-->i中的某一个元素,则做位置替换,*否者,执行第...
分类:
编程语言 时间:
2014-10-23 20:44:29
阅读次数:
255
常见经典排序算法
1.希尔排序
2.二分插入法
3.直接插入法
4.带哨兵的直接排序法
5.冒泡排序
6.选择排序
7.快速排序
8.堆排序
一.希尔(Shell)排序法(又称宿小增量排序,是1959年由D.L.Shell提出来的)
/*?S...
分类:
编程语言 时间:
2014-10-22 07:41:06
阅读次数:
298
常见经典排序算法
1.希尔排序
2.二分插入法
3.直接插入法
4.带哨兵的直接排序法
5.冒泡排序
6.选择排序
7.快速排序
8.堆排序
一.希尔(Shell)排序法(又称宿小增量排序,是1959年由D.L.Shell提出来的)
/* Shell 排序法 */
#include
void sort(int v[]...
分类:
编程语言 时间:
2014-10-18 15:34:08
阅读次数:
226
设有一个序列a[0],a[1]...a[n];其中a[i-1]前是已经有序的,当插入时a[i]时,利用二分法搜索a[i]插入的位置
效率:O(N^2),对于初始基本有序的序列,效率上不如直接插入排序;对于随机无序的序列,效率比直接插入排序要高
/*
* 二分(折半)插入排序
* 设有一个序列a[0],a[1]...a[n];其中a[i-1]前是已经有序的,当插入时a[i]时,利用二分法搜索...
分类:
编程语言 时间:
2014-10-17 13:51:24
阅读次数:
186
正则表达式实现资料验证的技术总结数据结构-排序: 各种排序算法全分析数据结构-算法: 分配排序(基数分配排序法)数据结构-算法: 分配排序(箱分配排序)数据结构-排序: 两路归并排序算法数据结构-算法: 插入排序(希尔排序法)数据结构-排序: 插入排序(直接插入排序法)数据结构-排序: 交换排序(快...
分类:
编程语言 时间:
2014-10-15 17:28:31
阅读次数:
201
直接插入排序(InsertionSort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。设数组为a[0…n-1]。1.初始时,a[0]自成1个有序区,无序区为a[1..n-1]。令i=12.将a[i]并入当前的有序区a[0…i-1]中形..
分类:
移动开发 时间:
2014-10-14 03:23:18
阅读次数:
319
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:
编程语言 时间:
2014-10-12 16:54:48
阅读次数:
274
插入排序的算法复杂度为O(n2),但假设序列为正序可提高到O(n),并且直接插入排序算法比較简单,希尔排序利用这两点得到了一种改进后的插入排序。一. 算法描写叙述希尔排序:将无序数组切割为若干个子序列,子序列不是逐段切割的,而是相隔特定的增量的子序列,对各个子序列进行插入排序;然后再选择一个更小.....
分类:
其他好文 时间:
2014-10-05 18:35:58
阅读次数:
197