এই নিবন্ধে, আমরা নীচে দেওয়া সমস্যার বিবৃতিটির সমাধান সম্পর্কে জানব৷
সমস্যা বিবৃতি৷ − আমাদের একটি অ্যারে দেওয়া হয়েছে, আমাদের স্টুজ সর্ট ব্যবহার করে এটি সাজাতে হবে।
অ্যালগরিদম
<পূর্ব>1. সূচক 0-এর মান শেষ সূচকের মানের থেকে বেশি কিনা তা পরীক্ষা করুন, তারপর তাদের অদলবদল করুন। অ্যারের প্রাথমিক 2/3য় সাজান।3। অ্যারের শেষ 2/3য় সাজান।4। নিশ্চিত করতে আবার প্রাথমিক ২/৩য় সাজান।এখন নিচের বাস্তবায়নে সমাধানটি পর্যবেক্ষণ করা যাক -
উদাহরণ
def stoogesort(arr, l, h):if l>=h:ফেরত # swap if arr[l]>arr[h]:t =arr[l] arr[l] =arr[h] arr[ h] =t # 2টির বেশি উপাদান যদি h-l+1> 2:t =(int)((h-l+1)/3) # প্রথম 2/3টি উপাদান স্টুজেসোর্ট (arr, l, (h-t) সাজান ) # বাছাই শেষ 2/3 উপাদান স্টুজেসর্ট(arr, l+t, (h)) # সাজান প্রথম 2/3 উপাদান আবার stoogesort(arr, l, (h-t))# mainarr =[1,4,2,3, 6,5,8,7]n =len(arr)stoogesort(arr, 0, n-1)প্রিন্ট ("বাছাই করা ক্রম হল:") এর জন্য i রেঞ্জে (0, n):print(arr[i], end ="")
আউটপুট
বাছাই করা ক্রম হল:1 2 3 4 5 6 7 8
সমস্ত ভেরিয়েবল স্থানীয় সুযোগে ঘোষণা করা হয়েছে এবং তাদের উল্লেখ উপরের চিত্রে দেখা যাচ্ছে।
উপসংহার −
এই নিবন্ধে, আমরা শিখেছি কিভাবে আমরা স্টুজ সর্টের জন্য একটি পাইথন প্রোগ্রাম তৈরি করতে পারি