Bubble Sort অ্যালগরিদম বুঝে নিন
Bubble Sort অ্যালগরিদম বুঝে নিন
Python কোড এবং উদাহরণ সহ Bubble Sort অ্যালগরিদম কিভাবে কাজ করে, তা জানুন।
ভূমিকা
Bubble Sort একটি সহজ কিন্তু প্রাথমিক ধরণের সাজানোর অ্যালগরিদম, যা তালিকার প্রতিটি উপাদানকে বারবার যাচাই করে, এবং যদি উপাদান দুটি ভুল ক্রমে থাকে, তবে তাদের অদল-বদল করে। এটি তালিকার উপাদানগুলোকে সঠিক ক্রমে সাজানো পর্যন্ত কাজ চালিয়ে যায়।
Bubble Sort কিভাবে কাজ করে?
Bubble Sort অ্যালগরিদম প্রতিটি উপাদানকে তার পরবর্তী উপাদানের সাথে তুলনা করে, এবং যদি প্রথম উপাদানটি পরের উপাদানটির থেকে বড় হয়, তাহলে তাদের অদল-বদল করা হয়। নিচে এর ধাপগুলো দেওয়া হলো:
- প্রথম দুটি উপাদানকে তুলনা করুন।
- যদি প্রথমটি বড় হয়, তাহলে তাদের স্থান পরিবর্তন করুন।
- পরবর্তী উপাদানগুলির জন্য একই কাজ চালিয়ে যান।
- তালিকার শেষে পৌঁছালে, পুরো প্রক্রিয়াটি আবার শুরু করুন।
- এভাবে প্রতিবার, সবচেয়ে বড় উপাদানটি শেষের দিকে চলে যায়।
Python কোড উদাহরণ
নিচে Python এ Bubble Sort অ্যালগরিদমের একটি সহজ উদাহরণ দেওয়া হলো:
def bubble_sort(list):
n = len(list)
for i in range(n):
for j in range(n - 1):
if list[j] > list[j + 1]:
temp = list[j]
list[j] = list[j + 1]
list[j + 1] = temp
return list
nums = [5, 3, 8, 6, 7, 2]
result = bubble_sort(nums)
print(result)
এই কোডে:
n = len(list)
: তালিকার দৈর্ঘ্য নির্ধারণ করা হয়েছে।for i in range(n):
: বাইরের লুপ n সংখ্যকবার চলবে।for j in range(n - 1):
: ভিতরের লুপটি প্রতিটি উপাদান তুলনা করবে।if list[j] > list[j + 1]:
: যদি বর্তমান উপাদানটি পরবর্তী উপাদান থেকে বড় হয়।- তাহলে উপাদানগুলো অস্থায়ী পরিবর্তনের মাধ্যমে অদল-বদল করা হবে।
উদাহরণ সহ আউটপুট
ধরা যাক আমরা এই তালিকাটি সাজাতে চাই: [5, 3, 8, 6, 7, 2]
Bubble Sort প্রয়োগের পর সাজানো তালিকা হবে:
[2, 3, 5, 6, 7, 8]
Bubble Sort এর সুবিধা
- সহজবোধ্য এবং বাস্তবায়ন সহজ।
- শিক্ষামূলকভাবে এটি ব্যবহৃত হয়, কারণ এটি সাজানোর ধারণা পরিষ্কারভাবে বোঝাতে সাহায্য করে।
- এই অ্যালগরিদমটি ইন-প্লেস অর্থাৎ এটি তালিকাটির জন্য কোনো অতিরিক্ত মেমরি ব্যবহার করে না।
Bubble Sort এর অসুবিধা
- বড় ডেটাসেটের জন্য এটি অকার্যকর।
- এর গড় এবং খারাপ অবস্থার সময় জটিলতা O(n2) হওয়ায় এটি বড় তালিকার জন্য প্রয়োগ করা কষ্টসাধ্য।
শেষ কথা
Bubble Sort একটি প্রাথমিক সাজানোর অ্যালগরিদম যা শিক্ষার্থীদের জন্য খুব উপকারী। যদিও এটি বড় ডেটাসেটের জন্য কার্যকর নয়, তবে প্রাথমিকভাবে সাজানোর ধারণা বোঝার জন্য এটি ভালো একটি পদ্ধতি। উপরের কোডটি চালিয়ে দেখুন এবং দেখুন কিভাবে তালিকাটি ধাপে ধাপে সাজানো হয়!