概要本章介绍排序算法中的基数排序。内容包括:1.基数排序介绍2.基数排序图文说明3.基数排序实现3.1基数排序C实现3.2基数排序C++实现3.3基数排序Java实现转载请注明出处:http://www.cnblogs.com/skywang12345/p/3603669.html更多排序和算法请参...
分类:
其他好文 时间:
2014-07-22 23:06:32
阅读次数:
366
概要
本章介绍排序算法中的基数排序。内容包括:
1. 基数排序介绍
2. 基数排序图文说明
3. 基数排序实现
3.1 基数排序C实现
3.2 基数排序C++实现
3.3 基数排序Java实现
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3603669.html
更多排序和算法请参考:数据结构与算...
分类:
其他好文 时间:
2014-07-22 23:05:15
阅读次数:
381
排序算法大全之——基数排序
基数排序是一种分配式排序,又成为桶子法排序
LSD(我们以最低位优先)
第一步:假设原有一串数字如下:
23,45,12,32,43
遍历这些数的个位数字,将他们分别装进编号为0到9的桶中
桶 0:为空,因为这些数中没有个位数为0的
桶 1:空
桶 2:12,32
桶 3:23,43
桶 4:空
...
分类:
其他好文 时间:
2014-05-10 09:14:14
阅读次数:
289
计数排序:它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n+k)(其中k是整数的范围),快于任何比较排序算法
实现原理: 首先将k范围内的数都C[]数组设0,然后遍历一边数组A[],对应的C[A[i]]++,
然后再将A[]数组向高位递加,观察发现每个不同的数字对应的C[]值都是该数字在排序后数组的位置,然后填充重复的数字
代码:
#include
#include
...
分类:
其他好文 时间:
2014-05-07 08:50:13
阅读次数:
254
计数排序
条件:要排序的数组的元素必须是在一定范围的,比如是1~100。在排序之前我们必须知道数组元素的范围。
思路:顾名思义:就是用一个数组来计数的。
步骤:
1、用一个数组来计数count[ ],将要排序的数组arr[ ]的元素记为数组count[ ]数组的下标,如果数组arr[]中有两个数相同就在count[]++.如count[arr[i]]++.
2、 再一次遍历数组count...
分类:
其他好文 时间:
2014-05-04 09:16:45
阅读次数:
219
//快速排序#includevoid QuickSort(int R[],int low,int
high){ int i=low,j=high; int pivot; if(lowpivot) j--; R[i]=R[j]; ...
分类:
其他好文 时间:
2014-05-03 23:18:57
阅读次数:
322
时间复杂度 O(d*n),d 为不同数字数目,n 为待排元素个数。分为: MSD(most
significant digit) 和 LSD(least significant digit)两种方法。MSD:从最高级别的 key
开始排序,每趟排序将所有元素分成 d 堆。LSD: 从最低级别的 k...
分类:
其他好文 时间:
2014-05-03 22:41:16
阅读次数:
418
package algorithm.sort;public class CountingSort {
public static void main(String[] args) { int[] a = new int[] {5, 3, 7, 2, 1, 4,
9, 8, 6, 1}; int[] ...
分类:
其他好文 时间:
2014-05-01 03:25:05
阅读次数:
252
计数排序(Counting
sort)是一种稳定的排序算法。计数排序使用一个额外的数组C,其中第i个元素是待排序数组A中值小于等于i的元素的个数。然后根据数组C来将A中的元素排到正确的位置。限制:所有值得取值范围不能太大,并且需要知道确切的取值范围。本算法需要的辅助空间要求较高。当输入的元素是
n ...
分类:
其他好文 时间:
2014-04-28 17:13:54
阅读次数:
558