我只需要帮助解决这个问题。我有正确的想法,但我需要更多,以确保我理解解决方案。
让我们说你的朋友声称他发明了一种基于超快速比较的优先级队列。他声称插入和提取是O(sqrt(logn)) 为什么他错了?
如果我要通过矛盾来证明。他声称插入和提取1项是sqrt(logn)。
因此n项将采用nsqrt(logn)。如果您使用队列进行排序,他声称需要上述时间。
但是我们知道基于比较的排序的下限是O(nlogn),这就是为什么你的朋友一定是错的。
当我试图解释这个时,我被告知,你的朋友并没有声称他正在排序。只是他在那么短的时间内插入和提取。
答案 0 :(得分:1)
当我试图解释这个时,我被告知,你的朋友并没有声称他正在排序。只是他在那么短的时间内插入和提取。
然后,假设这些是最坏情况的界限,你的朋友是错的。你刚刚演示了如何使用它来排序,你得出了一个矛盾;你唯一需要展示的是排序的工作原理,确实需要O(n sqrt(lg n))时间。