对《大话数据结构》P384~P385—简单选择排序,进行了自己的理解并完善了代码。 简单选择排序如下: 代码和解释如下(VS2012测试通过): 运行结果: 时间复杂度分析见草稿图。 时间复杂度是O(n2)。 ...
分类:
编程语言 时间:
2016-04-20 19:47:00
阅读次数:
322
排序算法Java实现排序算法的分类:
内部排序,在排序过程中,全部记录放在内存中,称为内部排序;
外部排序,在排序过程中需要使用外部存储(磁盘),则称为外部排序。
主要介绍内部排序:
插入排序:直接插入排序、二分法插入排序、希尔排序
选择排序:简单选择排序、堆排序
交换排序:冒泡排序、快速排序
归并排序
基数排序
插入排序直接插入排序
基本思想:对于给定的一组记录,初始时假设第一个记录自成一个有序序...
分类:
编程语言 时间:
2016-04-17 23:08:38
阅读次数:
310
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序不稳定,会导致相同值位置发生改变。 算法步骤: 1)首先在未排序序列中找到最小(大)元素,存放到排序序 ...
分类:
编程语言 时间:
2016-04-10 22:40:26
阅读次数:
176
答案A 不稳定:简单选择排序,希尔排序,快速排序,堆排序,冒泡 稳定:直接插入排序,归并排序,基数排序 ...
分类:
其他好文 时间:
2016-04-02 12:01:43
阅读次数:
147
七个基础排序算法(均为内部排序):
直接插入排序
希尔排序
冒泡排序
简单选择排序
快速排序
堆排序
二路归并排序排序算法稳定性:经过排序后,具有相同关键码的元素之间的相对次序保持不变,则称该排序方法是稳定的;否则不稳定。直接插入排序:void InsertSort(int a[],int n){ // index start at 1, a[0] is temp one
i...
分类:
编程语言 时间:
2016-03-28 00:15:58
阅读次数:
189
基本思想: 在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。 简单选择排序的示例: 操作方法: 第一趟,从n 个记录中找出关键码最小的记
分类:
编程语言 时间:
2016-03-18 21:39:30
阅读次数:
210
简单选择排序也叫作直接选择排序
基本思想:每一趟在后面n-i+1个中选出关键字最小的记录,作为有序序列的第i个记录(1)设待排序的记录存放在数组r[1…n ]中,第一趟从r[1]开始,通过n-1次比较,从n个记录中选出关键字最小的记录,记为r[k],交换r[1]和r[k].(2)第二趟从r[2]开始,通过n-2次比较,从n-1个记录中选出关键字最小的记录,记为r[k],交换r[1]和r[k]。(3)...
分类:
编程语言 时间:
2016-03-17 07:07:53
阅读次数:
201
冒泡排序算法的思想是不断的交换,通过交换完成最终的排序。 选择排序的基本思想是每一趟在n-i+1个记录中选取最小的记录,作为第i个的记录。 1 void SimpleSelectSort(int *p) 2 { 3 int i,j,min; 4 for(i=0;i<10;i++) 5 { 6 min
分类:
编程语言 时间:
2016-03-09 15:42:30
阅读次数:
209
选择排序—简单选择排序选择排序的基本思想是:每一趟从待排序的记录中选出关键字最小的记录,顺序放在已排好序的子系列的最后,直到全部记录排序完毕。简单选择排序也叫直接选择排序。基本算法:将给定待排序序列A[0....n],第一次从A[0]~A[n-1]中选取最小值,与A[0]交换,第二..
分类:
编程语言 时间:
2016-02-28 01:16:16
阅读次数:
248
简单选择排序是一种选择排序。选择排序:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止。简单选择排序(Simple Selection Sort)是通过n – i次关键字之间的比较,从n – i + 1个记录中选出关键字最小(大)的记录,并和第i(1≤i≤...
分类:
编程语言 时间:
2016-01-22 17:01:26
阅读次数:
297