Extracting the minimum or maximum value from the heap

Removing the minimum value (min heap) or the maximum value (max heap) consists of removing the element located at the first index of the array (the root of the heap). After the removal, we move the last element of the heap to the root and then we perform the function called siftDown, meaning we will swap elements until the heap is organized again. The sift down operation is also called sink down, percolate down, bubble down, heapify down, or cascade down.

The code is presented as follows:

extract() { if (this.isEmpty()) { return undefined; // {1} } if (this.size() === 1) { return this.heap.shift(); // {2} } const removedValue = this.heap.shift(); // {3} this.siftDown(0); // {4} return ...

Get Learning JavaScript Data Structures and Algorithms - Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.