DecreaseKey, IncreaseKey, and Remove
void decreaseKey(int obj) {
assert(size >= obj);
temp = Heap[obj];
newPos = percolateUp(obj, temp);
Heap[newPos] = temp;
}
void increaseKey(int obj) {
assert(size >= obj);
temp = Heap[obj];
newPos = percolateDown(obj, temp);
Heap[newPos] = temp;
}
void remove(int obj) {
assert(size >= obj);
percolateUp(obj,
NEG_INF_VAL);
deleteMin();
}
Previous slide
Next slide
Back to first slide
View graphic version