The sift down operation (heapify)

The code for the sift down operation is presented as follows:

siftDown(index) {  let element = index;  const left = this.getLeftIndex(index); // {1}  const right = this.getRightIndex(index); // {2}  const size = this.size();  if (    left < size &&    this.compareFn(this.heap[element], this.heap[left]) > Compare.BIGGER_THAN  ) { // {3}    element = left; // {4}  }  if (    right < size &&    this.compareFn(this.heap[element], this.heap[right]) > Compare.BIGGER_THAN  ) { // {5}    element = right; // {6}  }  if (index !== element) { // {7}    swap(this.heap, index, element); // {8}    this.siftDown(element); // {9}  }}

The siftDown method receives the index of the removed value. We will make a copy of the received index in the element variable. ...

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.