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

স্টুজ সর্টের পাইথন প্রোগ্রাম


এই আর্টিকেলে আমরা নিচের সমস্যা সমাধানের কথা শিখব।

সমস্যা: একটি অ্যারে দেওয়া আছে, আমাদের এটি স্টুজ সর্ট ব্যবহার করে সর্ট করতে হবে।

অ্যালগরিদম

1. ইনডেক্স ০-এর মান লাস্ট ইনডেক্সের মান থেকে বড় কিনা চেক করুন, বড় হলে সওয়াপ করুন।
2. অ্যারের প্রারম্ভিক ২/৩ অংশ সর্ট করুন।
3. অ্যারের শেষ ২/৩ অংশ সর্ট করুন।
4. আবার প্রারম্ভিক ২/৩ অংশ সর্ট করুন নিশ্চিত হওয়ার জন্য।

চলুন নিচের ইমপ্লিমেন্টেশনে সমাধানটি পর্যবেক্ষণ করি।

উদাহরণ

def stoogesort(arr, l, h):
    if l >= h:
        return
    # সওয়াপ
    if arr[l] > arr[h]:
        t = arr[l]
        arr[l] = arr[h]
        arr[h] = t
    # ২-এলিমেন্টের বেশি
    if h - l + 1 > 2:
        t = (int)((h - l + 1) / 3)
        # প্রথম ২/৩ এলিমেন্ট সর্ট
        stoogesort(arr, l, (h - t))
        # শেষ ২/৩ এলিমেন্ট সর্ট
        stoogesort(arr, l + t, (h))
        # আবার প্রথম ২/৩ এলিমেন্ট সর্ট
        stoogesort(arr, l, (h - t))

# মেইন
arr = [1, 4, 2, 3, 6, 5, 8, 7]
n = len(arr)
stoogesort(arr, 0, n-1)
print("Sorted sequence is:")
for i in range(0, n):
    print(arr[i], end=" ")

আউটপুট

Sorted sequence is: 1 2 3 4 5 6 7 8

স্টুজ সর্টের পাইথন প্রোগ্রাম

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

উপসংহার

এই আর্টিকেলে আমরা শিখেছি কিভাবে স্টুজ সর্টের পাইথন প্রোগ্রাম লিখতে হয়।

  1. পাইথনে সিলেকশন সর্ট (Selection Sort)

  2. পাইথন প্রোগ্রাম: বাবল সোর্ট অ্যালগরিদম

  3. পাইথন প্রোগ্রাম: সিলেকশন সোর্ট অ্যালগরিদম

  4. পাইথন প্রোগ্রাম: ইনসারশন সোর্ট অ্যালগরিদম