24 用优先队列进行调查(第3/3页)

“Swinson农夫的公鸡”(得分=5)

“Swinson农夫”(得分=7)

那么从优先队列中检索的顺序如下:

“Swinson农夫”(得分=7)

“Crab’s Pinch船夫号子大赛”(得分=6)

“Swinson农夫的公鸡”(得分=5)

“Exponentiated Expresso的伙计们”(得分=3)

“Swinson农夫的兔子”(得分=1)

注意,优先队列中的数据并不一定是被排好序的,只能保证按优先级高低顺序提取。在以后的讲义中你将看到,称为堆的数据结构是一种实现优先队列的有效方式,这种方式并不会完全按顺序保存数据。

首都的警察局采用很多种不同的优先级判定函数。如你所料,最有争议的优先队列正是度假优先队列。这个队列仅按照当前剩余假期的天数来排序。之前有人提议过加入其他优先级因素,都被拒绝了。无论你选择的度假地是冰川、海滩或沼泽,都将被平等对待——只看你剩余的假期天数。当然,这样的优先队列最重视公平。它将确保下一名休假的警官是本年度休假最少的警官。