我所知道的使用优先级队列的唯一示例是Dijkstra算法(用于计算最低成本)
在其他情况下会有用吗?
这是一个实际的示例-用于业务应用程序:
您正在经营一家医院,患者正在进来。员工只有一名医生。第一个男人走进来- 他被立即送达。接下来,一个感冒的男人进来并需要帮助。您将他添加到队列中,他排队等候医生可用。接下来,一个脑袋里有斧头的男人穿过门。他被赋予较高的优先权,因为他的医疗责任更高。因此,感冒的人被撞倒了。接下来,有人出现呼吸困难。因此,再次感冒的人被优先撞倒。在现实世界中,这被称为分诊- 但在这种情况下,这是一条医疗线。
在代码中实现此操作将使用优先级队列和工作线程(医生)对耗材/工作单位(患者)进行工作