Radix使用二进制排序

时间:2015-12-21 19:11:15

标签: c++ binary radix-sort

我想知道将Radix排序与Integer值一起使用或将值转换为Binary然后对它们进行排序是否更有效。

有人可以向我解释使用带二进制数的Radix排序而不仅仅使用整数来排序值的专业人士吗?

例如,我想排序5个值。 (170,2,19,40,100)

使用基数排序,Pro和Con将使用其二进制表示形式? (010101010,0010,010011,0101000,01100100)

2 个答案:

答案 0 :(得分:1)

基数排序就是排序二进制数。幸运的是,对于我们来说,整数也是二进制数(实际上是最好的二进制数)。

使用二进制形式的另一个好处是,如果需要,我们可以分组为10位而不是8位。例如,对于0到1000000之间的数字,可以使用2 x 10位进行分组/排序。

检查this是否有趣的阅读,this查看很酷的动画。

答案 1 :(得分:0)

使用基数排序时,使用二进制时,它会要求您接受更多通过,但是您将使用更少的队列。

使用整数时,您将使用较少的传递,但需要更多队列。

我不太确定这对Big O来说意味着什么。