【发布时间】:2021-11-21 13:21:43
【问题描述】:
我们的任务是使用基本功能(例如入队、出队、窥视、空)在 O(n log n) 中对队列进行排序。此外,我们可能会使用另一个队列来帮助我们。不允许使用其他数据结构。
很难想出解决方案,因为我觉得这可能是对分而治之问题的修改,但我无法使用 4 个基本功能提出解决方案。
是否有可能收到一些提示来解决这个问题?
【问题讨论】:
-
入队和出队是指基本的推送和弹出?
-
是的,入队 == 推送和出队 == 弹出
-
是的。例如,队列 q 包含元素 {1, 2, 3, 4}。 q.push(5), 元素 = {1, 2, 3, 4 ,5} q.pop(), 元素 = {2, 3, 4, 5}
-
您可以使用队列进行合并排序。
-
除了 2 个队列之外,是否允许使用任何变量?