概要本章介绍排序算法中的基数排序。内容包括: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
对公司所有员工的年龄进行排序,公司总共有几万名员工,要求时间复杂度为O(n)。
很明显的计数排序题目,员工的年龄肯定在一个范围之内,我们这里假设在0-99之内,算很大了,这样就可以开辟一个长度为100的数组,保存各个年龄的员工的个数。...
分类:
其他好文 时间:
2014-05-07 15:35:12
阅读次数:
286
计数排序:它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(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
1 //桶排序思想 2 //假如要排序的是数字是 2 4 5 5 5 8 8 9 1 1 3
#include 4 #define length 10 5 int main() 6 { 7 //数组元素值全部初始化为0 8 int
array[length]={0}; 9 ...
分类:
其他好文 时间:
2014-05-01 22:19:46
阅读次数:
342
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