কম্পিউটার

ভ্যানিলা জাভাস্ক্রিপ্ট ব্যবহার করে হিপ সর্ট বাস্তবায়ন করা


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

উদাহরণ

এর জন্য কোড হবে −

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
]

  1. জাভাস্ক্রিপ্টে Array.prototype.sort()।

  2. জাভাস্ক্রিপ্ট ব্যবহার করে উচ্চারিত অক্ষর দিয়ে স্ট্রিংগুলি কীভাবে সাজানো যায়?

  3. জাভাস্ক্রিপ্ট আমদানিতে '{ }' ব্যবহার করছেন?

  4. জাভাস্ক্রিপ্টে রৈখিক অনুসন্ধান বাস্তবায়ন করা