An Array Of Elements Can Be Sorted Using The Heap Sort Algorithm. The First Step Of The Heap Sort Algorithm Is To Convert The Array Into A Maximum Heap. If The Following Array Is To Be Sorted: Code Example


Example 1: heap sort

// @see https://www.youtube.com/watch?v=H5kAcmGOn4Q  function heapify(list, size, index) {     let largest = index;     let left = index * 2 + 1;     let right = left + 1;     if (left < size && list[left] > list[largest]) {         largest = left;     }     if (right < size && list[right] > list[largest]) {         largest = right;     }     if (largest !== index) {         [list[index], list[largest]] = [list[largest], list[index]];         heapify(list, size, largest);     }     return list; }  function heapsort(list) {     const size = list.length;     let index = ~~(size / 2 - 1);     let last = size - 1;     while (index >= 0) {         heapify(list, size, --index);     }     while (last >= 0) {         [list[0], list[last]] = [list[last], list[0]];         heapify(list, --last, 0);     }     return list; }  heapsort([4, 7, 2, 6, 4, 1, 8, 3]);

Example 2: heap sort name meaning

A sorting algorithm that works by first organizing the data to be sorted into a special type of binary tree called a heap. The heap itself has, by definition, the largest value at the top of the tree.

Comments

Popular posts from this blog

Converting A String To Int In Groovy

"Cannot Create Cache Directory /home//.composer/cache/repo/https---packagist.org/, Or Directory Is Not Writable. Proceeding Without Cache"

Android How Can I Convert A String To A Editable