【发布时间】:2011-01-09 18:25:06
【问题描述】:
基数排序是否能够对浮点数据进行排序,例如 0.5、0.9、1.02 等?
【问题讨论】:
-
我想通过将它的桶减少为 0 和 1 来实现基数排序,这意味着我会将每个输入转换为其二进制值,然后继续进行基数排序,这是否是加快其排序或者这会使基数排序比以前慢一点?谢谢。
-
您所描述的是“二进制基数排序”。对于 32 位
float数据,它将执行 32 次传递。 2**32 大约是 40 亿,所以除非你有那么多数据,否则像合并排序这样的 O(N lgN) 排序可能会更快。 (64位doubles,上限为180亿)
标签: algorithm radix-sort