08堆
介绍:堆是一种特殊的树形结构,父节点的值大于等于子节点的值或者小于子节点的值。对于max heap根节点是所有节点的最大值 或者min heap根节点值是所有节点最小的值。
相关操作:
1. 堆的创建
PriorityQueue<Integer> maxHeap = new PriorityQueue<>(Collections.reverseOrder());
PriorityQueue<Integer> minHeap = new PriorityQueue<>();
2.常用方法
minHeap.add(5);
minHeap.add(1);
minHeap.add(4);
输出结果:minHep = [1,5,4];
int top = minHeap.peek();
输出结果:top = 1;
minHeap.poll();
输出结果:minHeap = [4,5];
int n = minHeap.size();
输出结果:n = 2;
minHeap.clear();
输出结果:minHeap = [];
boolean flag = minHeap.isEmpty();
输出结果:flag = false;
boolean flag = minHeap.contains(5);
输出结果:flag = true;
minHeap.remove(5);
输出结果:minHeap = [4];