2.2. Binary Heap
Operations: swim and sink.
Balanced Binary Tree
Implementation
public class BinaryHeap<T extends Comparable<T>> extends AbstractPriorityQueue<T> {
private final List<T> keys;
public BinaryHeap() {
this(Comparator.naturalOrder());
}
public BinaryHeap(Comparator<T> priority) {
super(priority);
keys = new ArrayList<>();
keys.add(null);
}
@Override
public int size() {
return keys.size() - 1;
}
}Add() with Swim
Add() with SwimRemove() with Sink
Remove() with SinkLast updated
Was this helpful?