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

সাইকেল সর্টের পাইথন প্রোগ্রাম


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

সমস্যা: একটি অ্যারে দেওয়া আছে, আমাদের সাইকেল সর্টের কনসেপ্ট ব্যবহার করে এটি সর্ট করতে হবে।

এটি একটি ইন-প্লেস অ্যালগরিদম এবং সওয়াপ সাইকেল ফরমেশন দিয়ে হয়।

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

উদাহরণ

def cycleSort(array):
    writes = 0
    # রোটেট হব সাইকেল
    for cycleStart in range(0, len(array) - 1):
        item = array[cycleStart]
        # আইটেম রাখার পজিশন
        pos = cycleStart
        for i in range(cycleStart + 1, len(array)):
            if array[i] < item:
                pos += 1
        # যদি আইটেম থাকে, তবে সাইকেল নয়
        if pos == cycleStart:
            continue
        # অন্যথায়, আইটেম রাখুন
        while item == array[pos]:
            pos += 1
        array[pos], item = item, array[pos]
        writes += 1
        # রোটেশন চালিয়ে যান
        while pos != cycleStart:
            # আইটেম রাখার পজিশন খুঁজুন
            pos = cycleStart
            for i in range(cycleStart + 1, len(array)):
                if array[i] < item:
                    pos += 1
            # আইটেম রাখুন
            while item == array[pos]:
                pos += 1
            array[pos], item = item, array[pos]
            writes += 1
    return writes

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

আউটপুট

Sorted array is : 1 3 3 4 4 5 5 6 8

সাইকেল সর্টের পাইথন প্রোগ্রাম

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

উপসংহার

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

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

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

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

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