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

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


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

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

এখানে আমরা প্রথমে অ্যারেটি পার্টিশন করি এবং আলাদা পার্টিশনগুলো সর্ট করে সর্টেড অ্যারে পাই।

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

উদাহরণ

# ডিভাইড ফাংশন
def partition(arr, low, high):
    i = (low - 1)
    pivot = arr[high]  # পিভট এলিমেন্ট
    for j in range(low, high):
        # যদি করেন্ট এলিমেন্ট ছোট হয়
        if arr[j] <= pivot:
            # ইনক্রিমেন্ট
            i = i + 1
            arr[i], arr[j] = arr[j], arr[i]
    arr[i+1], arr[high] = arr[high], arr[i+1]
    return (i+1)

# সর্ট
def quickSort(arr, low, high):
    if low < high:
        # ইনডেক্স
        pi = partition(arr, low, high)
        # পার্টিশনগুলো সর্ট
        quickSort(arr, low, pi-1)
        quickSort(arr, pi+1, high)

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

আউটপুট

Sorted array is 2 3 4 5 5 6 7 8

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

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

উপসংহার

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

  1. অ্যারে রোটেশনের পাইথন প্রোগ্রাম

  2. পাইথনে চক্রবৃদ্ধি বunga (Compound Interest) প্রোগ্রাম

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

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