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

বাবল সর্ট (Bubble Sort) এবং সিলেকশন সর্ট (Selection Sort) এর পার্থক্য


এই পোস্টে আমরা বাবল সর্ট এবং সিলেকশন সর্টের পার্থক্য বুঝব।

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

  • এটি একটি সিম্পল সর্টিং অ্যালগরিদম।
  • এটি লিস্টের মাধ্যমে ইটারেট করে এবং সাজানোর জন্য এডজাসেন্ট এলিমেন্ট পেয়ার কমপেয়ার করে।
  • এডজাসেন্ট এলিমেন্টের ভিত্তিতে স্ব্যাপ (swap) করা হয়।
  • সিলেকশন সর্টের তুলনায় এটি ইফিশিয়েন্ট।
  • সিলেকশন সর্টের তুলনায় এটি স্লোয়ার।
  • এটি আইটেম এক্সচেঞ্জ ব্যবহার করে এলিমেন্ট সওয়াপ করে।
  • এলিমেন্টগুলো বারবার সওয়াপ হয় যতক্ষণ না সব এলিমেন্ট সঠিক অর্ডারে চলে আসে।

নিচে বাবল সর্ট অ্যালগরিদম দেওয়া হলো:

অ্যালগরিদম

begin BubbleSort(list)
    for all elements of list
        if list[i] > list[i+1]
            swap(list[i], list[i+1])
        end if
    end for
    return list
end BubbleSort

সিলেকশন সর্ট (Selection Sort)

  • প্রথমে লিস্ট থেকে মিনিমাম বা ম্যাক্সিমাম নম্বর বের করা হয়।
  • লিস্টটি অ্যাসেন্ডিং বা ডেসেন্ডিং অর্ডারে সর্ট করা হয়।
  • এটি আনসর্টেড সাব-অ্যারে থেকে মিনিমাম বা ম্যাক্সিমাম এলিমেন্ট সিলেক্ট করে সেটি সর্টেড সাব-অ্যারের नेক্সট পজিশনে রাখে।
  • এটিকে একটি অনস্টেবল সর্টিং অ্যালগরিদম মনে করা হয়।
  • সকল কেসে টাইম কমপ্লেক্সিটি O(n²)।
  • ইনসার্শন সর্টের তুলনায় এটি কম ইফিশিয়েন্ট।
  • ইটারেশন sırasında কिये गये কমপেরিজনের সংখ্যা এলিমেন্ট সওয়াপ করার চেয়ে বেশি।
  • লিস্টে প্রতিটি এলিমেন্টের লোকেশন পূর্বে জানা থাকে।
  • এটি মানে ইউজার শুধু সেই এলিমেন্টটি সার্চ করে যা স্পেসিফিক পজিশনে ইনসার্ট করতে হবে।
  • বাবল সর্টের তুলনায় এটি ইফিশিয়েন্ট।
  • বাবল সর্টের তুলনায় এটি দ্রুত।
  • এটি আইটেম সিলেকশন ব্যবহার করে।

নিচে সিলেকশন সর্ট অ্যালগরিদম দেওয়া হলো:

অ্যালগরিদম

Step 1 - Set MIN to location 0
Step 2 - Search the minimum element in the list
Step 3 - Swap with value at location MIN
Step 4 - Increment MIN to point to next element
Step 5 - Repeat until list is sorted

  1. অ্যালগরিদম (Algorithm) এবং ফ্লোचार্ট (Flowchart) এর পার্থক্য

  2. অ্যালগরিদম (Algorithm) এবং সিউডোকোড (Pseudocode) এর পার্থক্য

  3. BFS এবং DFS-এর পার্থক্য

  4. পাইথনে লিস্ট এবং টাপলের পার্থক্য