हीप सॉर्ट मूल रूप से एक तुलना-आधारित सॉर्टिंग एल्गोरिथम है। इसे एक बेहतर चयन प्रकार के रूप में माना जा सकता है - उस एल्गोरिथम की तरह, यह अपने इनपुट को एक क्रमबद्ध और एक अवर्गीकृत क्षेत्र में विभाजित करता है, और यह लक्ष्य (सबसे बड़ा या सबसे छोटा) तत्व निकालकर और इसे क्रमबद्ध में ले जाकर अंतःक्रियात्मक रूप से अनसोल्ड क्षेत्र को सिकोड़ता है। क्षेत्र।
उदाहरण
इसके लिए कोड होगा -
const constructHeap = (arr, ind) => { let left = 2 * ind + 1; let right = 2 * ind + 2; let max = ind; if (left < len && arr[left] > arr[max]) { max = left; } if (right < len && arr[right] > arr[max]) { max = right; } if (max != ind) { swap(arr, ind, max); constructHeap(arr, max); } } function swap(arr, index_A, index_B) { let temp = arr[index_A]; arr[index_A] = arr[index_B]; arr[index_B] = temp; } function heapSort(arr) { len = arr.length; for (let ind = Math.floor(len / 2); ind >= 0; ind −= 1) { constructHeap(arr, ind); } for (ind = arr.length − 1; ind > 0; ind−−) { swap(arr, 0, ind); len−−; constructHeap(arr, 0); } } const arr = [3, 0, 2, 5, −1, 4, 1]; heapSort(arr); console.log(arr); var len;
आउटपुट
और कंसोल में आउटपुट होगा -
[ −1, 0, 1, 2, 3, 4, 5 ]