假设现在有一组小于M的正整数 a1、 a2 ,…… ,an ,对它们排序可以采用以下的思路:使用一个大小为M的数组buckets,这个数组的每一个单元称为一个个的bucket,桶,初始化全部为0。扫描数组a,当扫描到ai的时候,buckets[ai] 加1。这样当a扫描完之后,扫描buckets,打 ...
分类:
编程语言 时间:
2017-05-15 22:46:01
阅读次数:
289
常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。 用一张图概括: 选择排序 选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。通俗来说 ...
分类:
编程语言 时间:
2017-05-15 19:46:59
阅读次数:
218
常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括:归并排序(英语:Mergesort,或mergesort),是创建在归并操作上的一种有效的排序算法,效率为O(nlogn)。1945年由约翰·冯·诺伊曼首次提出。该算法是..
分类:
编程语言 时间:
2017-05-12 22:21:10
阅读次数:
206
常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括:归并排序(英语:Mergesort,或mergesort),是创建在归并操作上的一种有效的排序算法,效率为O(nlogn)。1945年由约翰·冯·诺伊曼首次提出。该算法是..
分类:
编程语言 时间:
2017-05-12 22:12:11
阅读次数:
269
1:简单选择排序2:堆排序 3:冒泡排序4:归并排序5:基数排序6:快速排序 方法实现: ...
分类:
编程语言 时间:
2017-05-12 17:25:58
阅读次数:
192
常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括:选择排序选择排序是一种简单直观的排序算法,无论什么数据进去都是O(n2)的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用..
分类:
编程语言 时间:
2017-05-10 17:51:09
阅读次数:
282
详细解释:算法导论/数据结构书 1.链式基数排序 //n个数,每个数有g个关键字//排序:从最后的关键字开始到最前的关键字//分配+收集//每个关键字分配+收集需要n+n时间,而共有g个关键字,时间复杂度为O(2ng),效率很高。//如果用数组,数据集中在一个区间,则区间的长度很长,另外的区间的内存 ...
分类:
编程语言 时间:
2017-05-06 23:05:41
阅读次数:
339
package com.sxt.review; /*内部排序:(在内存) * 插入排序-->希尔排序 * 冒泡排序-->快速排序 * 选择排序-->堆排序 * 归并排序 * 基数排序 * 外部排序:(排序过程需访问外存) */ import java.util.Arrays; public clas... ...
分类:
编程语言 时间:
2017-05-06 15:03:50
阅读次数:
177