java-用PriorityQueue实现最大最小堆

2020-08-28  本文已影响0人  爱叫啥叫啥去

https://www.cnblogs.com/yongh/p/9945539.html

PriorityQueue(优先队列),一个基于优先级堆的无界优先级队列

实际上是一个堆(不指定Comparator时默认为最小堆),通过传入自定义的Comparator函数可以实现大顶堆。

PriorityQueue的常用方法有:poll(),offer(Object),size(),peek()等。

  1、插入方法(offer()、poll()、remove() 、add() 方法)时间复杂度为O(log(n)) ;

  2、remove(Object) 和 contains(Object) 时间复杂度为O(n);

  3、检索方法(peek、element 和 size)时间复杂度为常量。

上一篇下一篇

猜你喜欢

热点阅读