এই আর্টিকেলে আমরা নিচের সমস্যা সমাধানের কথা শিখব।
সমস্যা: একটি অ্যারে দেওয়া আছে, আমাদের পারমিউটেশন সর্টের কনসেপ্ট ব্যবহার করে এটি সর্ট করতে হবে।
বোগোসর্ট যাকে পারমিউটেশন সর্টও বলা হয়, এটি জেনারেট-এন্ড-টেস্ট প্যারাডাইমের ওপর বেসড।
চলুন নিচের ইমপ্লিমেন্টেশনে সমাধানটি পর্যবেক্ষণ করি।
উদাহরণ
# র্যান্ডম মডিউল
import random
# সর্ট
def bogoSort(a):
n = len(a)
while (is_sorted(a) == False):
shuffle(a)
# চেক
def is_sorted(a):
n = len(a)
for i in range(0, n-1):
if (a[i] > a[i+1]):
return False
return True
# পারমিউটেশন
def shuffle(a):
n = len(a)
for i in range(0, n):
r = random.randint(0, n-1)
a[i], a[r] = a[r], a[i]
# মেইন
a = [1, 5, 3, 4, 8, 6, 3, 4, 5]
bogoSort(a)
print("Sorted array :")
for i in range(len(a)):
print(a[i], end=" ")
আউটপুট
Sorted array is : 1 3 3 4 4 5 5 6 8

সभी ভেরিয়েবল লোকাল স্কোপে ঘোষণা করা হয়েছে এবং তাদের রেফারেন্স উপরের চিত্রে দেখা যাচ্ছে।
উপসংহার
এই আর্টিকেলে আমরা শিখেছি কিভাবে বোগোসর্ট বা পারমিউটেশন সর্টের পাইথন প্রোগ্রাম লিখতে হয়।