এই পোস্টে আমরা বাবল সর্ট এবং সিলেকশন সর্টের পার্থক্য বুঝব।
বাবল সর্ট (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