【问题标题】:Please describe how to use a priority queue to implement a queue请描述如何使用优先级队列来实现队列
【发布时间】:2016-09-25 23:46:46
【问题描述】:

我不明白这个问题....

请描述如何使用优先级队列来实现队列。

我是否简单地将优先级指定为进入时间?并且由于队列是先进先出的,我会降低优先级,所以最早的时间排在第一位?

【问题讨论】:

  • 我看过这个...

标签: queue priority-queue


【解决方案1】:

使用时间作为优先键是一种方法。不过要小心,使用一个不会在外部改变的时间。在夏令时切换期间将时钟拨回一小时时,您不希望使用当地时间。

您还可以从 0 开始一个整数计数器,并随着添加到队列中的每个项目递增它。

理论上,您可以给每个项目同等的优先级,但在实践中,这可能最终会像堆栈一样。这取决于您的优先级队列实现如何处理相等的项目。例如,如果实现是二叉堆,它可以插入相等的项作为新的最小项。所以你最终会得到 LIFO。

【讨论】:

    猜你喜欢
    • 2014-01-19
    • 1970-01-01
    • 2013-11-30
    • 2011-06-09
    • 1970-01-01
    • 1970-01-01
    • 2021-08-14
    • 1970-01-01
    相关资源
    最近更新 更多