PriorityQueue - 优先队列

正常写入,按照优先级出

实现机制

  1. Heap堆,包括Binary 二叉堆、Binomial 多项式堆、Fibonacci 斐波那契堆
  2. Binary Search Tree 二叉搜索树

小顶堆,越小的越排在前面,最小的在顶部

大顶堆,与小顶堆相反

各种类型的堆的性能比较


可以看到Fibonacci堆在查找、插入、删除、合并上面都有非常好的性能,所以我们在Python中的堆和Java中使用的PriorityQueue都是Fibonacci堆或者平衡二叉树(红黑树)