排序算法分类:内部排序(在排序过程中不需要访问外存就可以完成排序)外部排序内部排序分类:交换排序冒泡排序快速排序选择排序直接选择排序堆排序插入排序直接插入排序希尔排序合并排序外部排序:
常见的是多路归并算法,即将原文件分为多个能够一次装入内存一部分,分别把每一部分调入内存完成排序,然后对已经排序的....
分类:
其他好文 时间:
2014-06-29 14:23:42
阅读次数:
314
一、插入排序1.直接插入排序算法稳定,时间复杂度为O(n^2),空间移动复杂度为O(n2)如果序列是有序的,最好的时间复杂度为O(n)void
insertSort(int data[],int n){ for(int i=1;i=0&&data[j]>temp) { d...
分类:
其他好文 时间:
2014-06-11 12:53:06
阅读次数:
266
直接插入排序(Straight Insertion
Sorting)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程
中每次从无序表中取出第一个元素,将它插入到有序表中的适当位置,使之成为新的有序表,重复n-1次可完成排...
分类:
其他好文 时间:
2014-06-11 09:49:14
阅读次数:
263
以下算法都编译通过,具体原理相信大家都懂,直接上代码。插入排序1.直接插入排序typedef
int eleType;typedef struct{ eleType key[MAXSIZE], int length;}listSeq; void
InsertSort(listSeq ...
分类:
其他好文 时间:
2014-06-10 00:02:56
阅读次数:
306
插入排序
直接插入排序
// 直接插入排序
void DirectInsertSort(int arr[], int lhs, int rhs)
{
int temp;
for (int i = lhs+1; i = 0 && temp < arr[j]...
分类:
其他好文 时间:
2014-06-07 14:31:54
阅读次数:
274
直接插入排序法
插入排序的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后移动,为最新元素提供插入空间。
核心代码://直接插入排序法void I.....
分类:
其他好文 时间:
2014-06-07 04:13:30
阅读次数:
265
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:
其他好文 时间:
2014-06-02 14:02:13
阅读次数:
303
希尔排序一。个人理解希尔排序(Shell
Sort)是插入排序的一种。是针对直接插入排序算法的改进。该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。其实,希尔排序本质也就是直接插入算法的升级,希尔的基本思想,就是先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的...
分类:
其他好文 时间:
2014-05-29 21:49:30
阅读次数:
516
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:
其他好文 时间:
2014-05-26 02:48:31
阅读次数:
255
一、插入排序直接插入排序(InsertionSort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后..
分类:
编程语言 时间:
2014-05-21 12:47:23
阅读次数:
503