方法 时间复杂度 空间复杂度 Stable 冒泡排序(Bubble Sort) O(n) — O(n^2) O(1) yes 选择排序(Selection Sort) O(n^2) — O(n^2) O(1) no 插入排序(Insertion Sort) O(n) — O(n^2) O(1) ye ...
分类:
编程语言 时间:
2016-04-02 13:34:51
阅读次数:
203
答案A 不稳定:简单选择排序,希尔排序,快速排序,堆排序,冒泡 稳定:直接插入排序,归并排序,基数排序 ...
分类:
其他好文 时间:
2016-04-02 12:01:43
阅读次数:
147
排序即将一个无序的数组(序列)按照一定的规则排列,常见的规则便是按照从大到小或者从小到大的顺序。本文讨论的排序一律指按照从小到大的顺序进行排列的这种情况。 本文将分为上下两章介绍以下六种排序算法: (1)直接选择排序 (2)冒泡排序 (3)快速排序 (4)二分排序 (5)堆排序 (6)线性时间排序。 ...
分类:
编程语言 时间:
2016-03-31 23:25:04
阅读次数:
154
排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。 内排序有可以分为以下几类: (1)、插入排序:插入排序、二分法插入排序、希尔排序。 (2)、选择排序:选择排序、堆排序。 (3)、交换排序 ...
分类:
编程语言 时间:
2016-03-31 16:24:41
阅读次数:
213
恢复内容开始 接算法的上一系列,在前几篇博客中,已经分析了 交换算法(冒泡排序,快速排序)、插入算法(直接插入排序,希尔排序),这一系列我们谈谈选择排序。 选择排序分为两种,一种是直接选择排序,一种是堆排序,下面我们看 直接选择排序: 百度百科: 选择排序(Selection sort)是一种简单直 ...
分类:
编程语言 时间:
2016-03-30 00:07:12
阅读次数:
407
// 选择排序 源代码 void ChooseSort(int *a,int n){ int i=-1,j,temp; for(;++i<n-1;){ temp=i; for(j=i;++j<n;){ if(a[temp]>a[j]){ temp=j; } } if(i!=temp){ swap(& ...
分类:
编程语言 时间:
2016-03-28 13:30:55
阅读次数:
139
趁空闲时间,我把常用的排序算法实现并总结一下,以便温故知新。以下将提及到直接插入排序、冒泡排序、快速排序、选择排序、堆排序、归并排序。
按类型分,可以分成以下几种:
(1)插入排序:直接插入排序
(2)交换排序:冒泡排序、快速排序
(3)选择排序:选择排序、堆排序
(4)归并排序:归并排序...
分类:
编程语言 时间:
2016-03-28 00:24:28
阅读次数:
176
七个基础排序算法(均为内部排序):
直接插入排序
希尔排序
冒泡排序
简单选择排序
快速排序
堆排序
二路归并排序排序算法稳定性:经过排序后,具有相同关键码的元素之间的相对次序保持不变,则称该排序方法是稳定的;否则不稳定。直接插入排序:void InsertSort(int a[],int n){ // index start at 1, a[0] is temp one
i...
分类:
编程语言 时间:
2016-03-28 00:15:58
阅读次数:
189