এই আর্টিকেলে আমরা নিচের সমস্যা সমাধানের কথা শিখব।
সমস্যা: একটি অ্যারে দেওয়া আছে, আমাদের কুইকসর্টের কনসেপ্ট ব্যবহার করে এটি সর্ট করতে হবে।
এখানে আমরা প্রথমে অ্যারেটি পার্টিশন করি এবং আলাদা পার্টিশনগুলো সর্ট করে সর্টেড অ্যারে পাই।
চলুন নিচের ইমপ্লিমেন্টেশনে সমাধানটি পর্যবেক্ষণ করি।
উদাহরণ
# ডিভাইড ফাংশন
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

সभी ভেরিয়েবল লোকাল স্কোপে ঘোষণা করা হয়েছে এবং তাদের রেফারেন্স উপরের চিত্রে দেখা যাচ্ছে।
উপসংহার
এই আর্টিকেলে আমরা শিখেছি কিভাবে কুইকসর্টের পাইথন প্রোগ্রাম লিখতে হয়।