কম্পিউটার টিউটোরিয়াল

বাবল সোর্ট বাস্তবায়ন - JavaScript

বাবল সোর্ট হলো একটি সহজ সোর্টিং অ্যালগরিদম যেখানে প্রতিটি পাসে পাশাপাশি দুটি উপাদান তুলনা করা হয় এবং অর্ডার ঠিক না থাকলে সিম্পল করে বদলানো হয়।

কীভাবে কাজ করে

  1. প্রথম উপাদান থেকে শুরু করে পাশাপাশি দুটি তুলনা করুন
  2. বড়টি হলে সিম্পল করুন
  3. প্রতিটি পাসে সবচেয়ে বড় উপাদান শেষে চলে যায় (বাবল আপ)
  4. প্রক্রিয়া পুনরাবৃত্তি করুন যতক্ষণ না সোর্ট হয়

বাস্তবায়ন

const swap = (arr, i, j) => {
  [arr[i], arr[j]] = [arr[j], arr[i]]; // ES6 ডিস্ট্রাকচারিং
};

const bubbleSort = (arr) => {
  const len = arr.length;
  
  for (let i = 0; i < len - 1; i++) {
    let swapped = false; // অপ্টিমাইজেশন: যদি কোনো সিম্পল না হয়
    
    for (let j = 0; j < len - 1 - i; j++) {
      if (arr[j] > arr[j + 1]) {
        swap(arr, j, j + 1);
        swapped = true;
      }
    }
    
    // যদি কোনো সিম্পল না হয়, তবে ইতিমধ্যে সোর্টেড
    if (!swapped) break;
  }
  
  return arr;
};

// টেস্ট
const arr = [4, 56, 4, 23, 8, 4, 23, 2, 7, 8, 8, 45];
console.log(bubbleSort([...arr])); // অরিজিনাল অ্যারে পরিবর্তন না করার জন্য কপি ব্যবহার
// [2, 4, 4, 4, 7, 8, 8, 8, 23, 23, 45, 56]

জটিলতা বিশ্লেষণ

কেস সময় জটিলতা স্থান জটিলতা
বেস্ট (ইতিমধ্যে সোর্টেড) O(n) O(1)
এভারেজ O(n²) O(1)
ওয়ার্স্ট O(n²) O(1)

উৎপাদন

[ 2, 4, 4, 4, 7, 8, 8, 8, 23, 23, 45, 56 ]
  1. জাভাস্ক্রিপ্ট Sort() মেথড

  2. জাভাস্ক্রিপ্টে Array.prototype.sort() মেথড

  3. বাবল সর্ট (Bubble Sort)

  4. C#-এ বাবল সর্ট (Bubble Sort) প্রোগ্রাম