什么是优先队列,它有什么用

Arl*_*rlo 5 language-agnostic priority-queue

当我们编码和使用优先级队列时,优先级究竟代表什么?它是抽象的还是具体的,例如根据不同建筑物的高度进行分类?使用优先队列有什么好处?

pjs*_*pjs 4

普通队列按照先到先得的原则处理项目。优先级队列根据项目的优先级确定服务顺序。对于优先级队列,下一个要处理的项目将是优先级最高的项目。

例子:

  • 航空公司让“头等舱”乘客先于“经济舱”登机
  • 医院急诊室在看其他病人之前先处理心脏病、出血和呼吸问题
  • 许多餐厅都会先给贵宾安排座位,即使后者已经预订了座位。

这是一个具体的东西,它决定了系统的实际运行。作为程序员,您的工作是通过提供排序属性来识别并反映现实世界的行为。在 Java 中,这是通过创建对象Comparable或提供Comparator.