【发布时间】:2012-08-01 04:27:45
【问题描述】:
如果我们必须对 4 个数字中的 7 个数字进行排序,那么在最坏的情况下需要多少次比较?(基数排序) 选项是 - 40,38,47,280。
我的解决方案——我拿了 10 个桶(0 到 9)(链表)。然后对于第 i 个数字的每个数字,我将其放入 Bucket 中,对应于其数字的值。然后我将这些数字收集到数组中。对所有数字重复此过程,因此我的原始数组已排序。比较总数= 10*4=40(10,因为我遍历了所有的桶来寻找对应的桶)。
现在问题出在 Timothy J Williams 的书中,给出的比较数 = 数字数 * 数字数 * 桶数 = 4*7*10=280。我无法理解。有人可以解释一下这是怎么回事。
【问题讨论】:
-
什么算作比较?从理论上讲,基数排序甚至不被认为是比较排序,所以答案是 0...