基数排序_RADIXSORT
基数排序的思想
基数排序算法实现
基于计数排序的基数排序
基于最优桶排序的基数排序
基数排序_RADIXSORT基数排序是一种基于计数排序_COUNTINGSORT或者是最优桶排序(当然也可以基于其他排序算法,只不过计数排序对于基数排序来说应该是最快的了,因为二者的拼音都是jishupaixu,哈哈)的一种可以在线性时间O(n)O(n)完成的排序算法。博主在做基数排序的...
分类:
编程语言 时间:
2015-05-19 19:07:15
阅读次数:
215
给定一个包含红,白,蓝且长度为n的数组,将数组元素进行分类使相同颜色的元素相邻,并按照红、白、蓝的顺序进行排序。
我们可以使用整数0,1和2分别代表红,白,蓝。
样例
注意
不能使用代码库中的排序函数来解决这个问题
说明
一个相当直接的解决方案是使用计数排序扫描2遍的算法。
首先,迭代数组计算0,1,2出现的次数,然后依次用0,1,2出现的次数去覆盖数组。
...
分类:
其他好文 时间:
2015-05-18 10:52:52
阅读次数:
147
1 void countingSort(array &a, int k) //a中皆为整数,范围为0到K-1 2 { 3 array c(k, 0); 4 for (int i = 0; i b(a.length); 9 for (int i = a.length-1; ...
分类:
编程语言 时间:
2015-05-16 23:08:56
阅读次数:
186
计数排序_COUNTINGSORT我们之前讲过四种基本的排序方法:《快速排序_QUICKSORT》:http://blog.csdn.net/ii1245712564/article/details/45749061
《堆排序_HEAPOSRT》http://blog.csdn.net/ii1245712564/article/details/45534625
《归并排序_MERGESORT》:...
分类:
编程语言 时间:
2015-05-16 16:37:43
阅读次数:
299
这个之前在《编程珠玑》上面看到过,当时就感觉特别神奇!速度突破了其他排序算法的下限后来在《算法导论》上面又看到了,感触颇深!所以一定好好啃透《算法导论》这一系列博客的特点就是——给出每趟排序的结果本来想着好好写一下过程,弄个图片什么的,不过觉得网上的解析太..
分类:
编程语言 时间:
2015-04-29 20:00:11
阅读次数:
193
这种问题以及方法很常见。主要是思路要开阔,讲已知的问题抽象成数学模型或者函数表达式,这正是数学建模的真谛,problem solving(解决实际问题的能力)。法一:利用计数排序,用数组记下每个ID出现的次数,然后找出出现一次的那个ID,时空复杂度都是O(N)。现在如果数据量很大,那么这样的空间复杂度是无法被容忍的法二:利用两个相同的数异或结果为0,将所有的ID都异或一遍,显然最后剩下的值,即为出现...
分类:
其他好文 时间:
2015-04-29 17:12:47
阅读次数:
143
一、计数排序的基本思想是:对每一个输入元素x,确定小于x的元素个数。利用这一信息,就可以直接把x放到它在输出数组中的位置上了。例如,如果有17个元素小于x,则将x放在第18个位置即可。但是当存在几个元素相同时,会稍许不同,否则中间会漏掉元素。二、假设输入是一个数组A[1..n],A.length =...
分类:
编程语言 时间:
2015-04-23 19:26:36
阅读次数:
141
leetcode Sort Colorsleetcode Sort Colors计数排序注: 题目的要求是将 A 数组重新排列成有序, 而不是将排序的序列输出Sort ColorsGiven an array with n objects colored red, white or blue, so...
分类:
其他好文 时间:
2015-04-22 23:53:37
阅读次数:
121
线性时间排序
1.计数排序
2.基数排序
3.桶排序...
分类:
编程语言 时间:
2015-04-14 19:42:38
阅读次数:
249
计数排序的基本思想就是对每一个输入元素x,确定出小于x的元素个数。有了这一信息,就可以把x直接放到它在最终输出数组中的位置上。
计数排序的一个重要性质就是它是稳定的,为什么重要呢?因为计数排序经常用作基数排序算法的一个子过程。
废话少说,直接上代码:
#include
//计数排序,k:数组A中最大的元素; i:数组A元素的个数
int* CountSort(int* A, int* B...
分类:
编程语言 时间:
2015-04-10 22:06:47
阅读次数:
133