【发布时间】:2017-03-19 09:18:22
【问题描述】:
我正在尝试在 C++ 中实现 Radix Sort 算法,尝试对 int 数组进行排序。
据我所知,有两种可能的方法:
按二进制数字排序,例如使用按位运算符逐位获取并将它们排序到 2 个桶(0 和 1)中。
按十进制数字排序,即 10 个桶(0 到 9)。
但是,我看不出两者中哪一个更有效。仅在 2 个桶中排序似乎效率很低,但使用十进制数字意味着无法使用快速的按位运算符,而我必须使用特别慢的 % 和 / 运算符。
那么其中哪一个会更快? (PS:我正在开发的代码将用于时间非常关键的部分,这就是我问的原因)
【问题讨论】:
标签: c++ sorting radix-sort