algorithm - Radix Sort,对 float 据进行排序

标签 algorithm radix-sort

基数排序是否能够对 float 据进行排序,例如 0.5、0.9、1.02 等?

最佳答案

是的,这是可能的。它需要额外的传递才能正确处理负值。 Pierre Terdiman的文章和 Michael Herf详细讨论如何实现。简而言之,您将 float 转换为无符号整数,对它们进行排序,然后将它们转换回 float (这是必需的,否则负值将错误地排在正值之后)。

他们的方法的优点是您不会在数据中引入任何错误(前提是您的处理器按照 IEEE 754 标准存储 float )。

关于algorithm - Radix Sort,对 float 据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4640906/

相关文章:

algorithm - 线性时间的基数排序与将输入转换为适当的基数

reactjs - React 的 "diffing"启发式算法背后的动机是什么?

algorithm - 什么时候使用基数排序合适?

c++ - 使用二进制进行基数排序

c++ - 在 C++ 中使用 vector 的 vector 进行基数排序会崩溃

java - 基数排序算法

algorithm - 消除 "graph"中节点的高效算法?

python - 谁能教我如何进一步优化这个 'print up to the nth prime number' 脚本?

algorithm - 查找以随意方式存储的连续增加的子序列

algorithm - 如何在golang中签署curve25519 key ?