基本思想:每一趟从待排序的记录中选出关键字最小的记录,顺序放在已排好序的子文件的最后,直到全部记录排序完毕。直接选择排序1.基本思想2.算法分析 堆排序 1.堆的定义2.大根堆和小根堆3.堆排序与直接插入排序的区别 4.基本思想 调整堆符合堆的性质算法 建成初始堆 5.算法分析 【1】时间复杂度为O... ...
分类:
编程语言 时间:
2016-12-24 22:49:01
阅读次数:
202
虽然现在各种程序语言都有其各自强大的排序库函数,但是这些底层实现也都是利用这些基础或高级的排序算法。 理解这些复杂的排序算法还是很有意思的,体会这些排序算法的精妙~ 一、希尔排序(shell sort):希尔排序是基于插入排序的,区别在于插入排序是相邻的一个个比较(类似于希尔中h=1的情形)...
分类:
编程语言 时间:
2016-01-15 20:06:15
阅读次数:
158
#include
int swap(int *a,int *b)
{
int t=*a;
*a=*b;
*b=t;
}
/*
冒泡排序的原理:每次在无序队列里将相邻两个数依次进行比较,将小数调换到前面,
逐次比较,直至将最大的数移到最后。最将剩下的N-1个数继续比较,将次大数移至倒数第二位。
依此规律,直至比较结束。
冒泡排序的代码如下:
*/
void ...
分类:
编程语言 时间:
2014-12-07 15:05:38
阅读次数:
201