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

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

এই আর্টিকেলে আমরা ইটেরেটিভ মার্জ সর্টের সমাধান শিখব।

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

এখানে সর্বোচ্চ এলিমেন্টটিকে শেষে রাখা হয়। অ্যারে সর্ট হওয়া পর্যন্ত এটি রিপিট করা হয়।

পাইথন কোড উদাহরণ

# iterative way
def mergeSort(a):
    current_size = 1
    while current_size < len(a) - 1:
        left = 0
        while left < len(a) - 1:
            mid = left + current_size - 1
            right = min(2 * current_size + left - 1, len(a) - 1)
            merge(a, left, mid, right)
            left = left + current_size * 2
        current_size = 2 * current_size

def merge(a, l, m, r):
    n1 = m - l + 1
    n2 = r - m
    L = [0] * n1
    R = [0] * n2
    for i in range(0, n1):
        L[i] = a[l + i]
    for i in range(0, n2):
        R[i] = a[m + i + 1]
    i, j, k = 0, 0, l
    while i < n1 and j < n2:
        if L[i] > R[j]:
            a[k] = R[j]
            j += 1
        else:
            a[k] = L[i]
            i += 1
        k += 1
    while i < n1:
        a[k] = L[i]
        i += 1
        k += 1
    while j < n2:
        a[k] = R[j]
        j += 1
        k += 1

# Driver code
a = [2, 5, 3, 8, 6, 5, 4, 7]
mergeSort(a)
print("Sorted array is:")
for i in range(len(a)):
    print(a[i], end=" ")

আউটপুট

Sorted array is 2 3 4 5 5 6 7 8

উপসংহার

এই আর্টিকেলে আমরা পাইথনে ইটেরেটিভ মার্জ সর্ট ইমপ্লিমেন্টেশন শিখেছি।

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

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

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

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