0

我需要帮助来解决这个问题。我有正确的想法,但我需要更多来确保我理解解决方案。

假设您的朋友声称他发明了一个基于超快速比较的优先级队列。他声称插入和提取是 O(sqrt(logn)) 为什么他错了?

如果我用反证法来证明。他声称插入和提取 1 个项目是 sqrt(logn)。

因此 n 项将占用 nsqrt(logn)。如果您使用队列进行排序,他声称需要上述时间。

然而,我们知道基于比较的排序的下限是 O(nlogn),这就是为什么你的朋友一定是错的。

当我试图解释这一点时,有人告诉我,你的朋友并没有声称他正在分类。只是他在那么短的时间内插入和提取。

4

1 回答 1

1

当我试图解释这一点时,有人告诉我,你的朋友并没有声称他正在分类。只是他在那么短的时间内插入和提取。

然后,假设这些是最坏情况的界限,你的朋友就错了。您刚刚演示了如何使用它进行排序,并且得出了一个矛盾;您唯一需要展示的是排序是如何工作的,并且确实需要 O(n sqrt(lg n)) 时间。

于 2013-05-01T17:24:43.757 回答