হিপ সর্ট মূলত একটি তুলনা-ভিত্তিক সাজানোর অ্যালগরিদম। এটিকে একটি উন্নত নির্বাচন বাছাই হিসাবে ভাবা যেতে পারে - সেই অ্যালগরিদমের মতো, এটি তার ইনপুটটিকে একটি সাজানো এবং একটি সাজানো অঞ্চলে বিভক্ত করে এবং এটি লক্ষ্য (সবচেয়ে বড় বা ক্ষুদ্রতম) উপাদানটি বের করে এবং এটিকে সাজানো অঞ্চলে নিয়ে যাওয়ার মাধ্যমে এটি ইন্টারেক্টিভভাবে সাজানো অঞ্চলটিকে সঙ্কুচিত করে। অঞ্চল।
উদাহরণ
এর জন্য কোড হবে −
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 ]