目录
Python内置库中的queue.PriorityQueue的使用
什么是优先队列
为什么需要优先队列?
有一个小需求:请取出一组数中的最大数,比如该组数为:1,5,2,8,6,4,3,7,9,0
要是你该如何实现该需求呢?
最简单的策略是:将这组数存入列表,然后调用max取列表的最大值
大家可以去网上搜索下max函数的时间复杂度是O(n)。
相当于下面实现:
我们再来变更下需求,我们需要:取出这组数中前三大的值
那么此时max函数就不太适合了。
最简单的策略是:将这组数存入列表,然后对列表进行降序,然后取前三个数: