【发布时间】:2025-12-13 04:45:01
【问题描述】:
当递归实现时,就地基数排序的空间开销是多少。我在这里实现了就地基数排序,没有递归:
http://41j.com/blog/2015/03/in-place-radix-sort-ok-space-overhead/
我相信我实现它的方式 O(r^k) 将需要额外的空间。其中 r 是基数,k 是位数。我是否认为递归解决方案只需要 O(k) 额外空间?
【问题讨论】:
-
你的代码有很多问题。引用一个微妙的例子:如果
int是 32 位且bit是31,if ((v & (1 << bit)) > 0)将失败。如果v为负数,则表达式将为非零但不是正数。这不是不支持负数的唯一原因,您对高位的假设也是错误的。
标签: algorithm sorting recursion radix-sort