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)时间复杂度为常量。