এই নিবন্ধে, আমরা নীচে দেওয়া সমস্যার বিবৃতিটির সমাধান সম্পর্কে জানব৷
সমস্যা বিবৃতি − আমাদের একটি অ্যারে দেওয়া হয়েছে, আমাদের এটিকে চক্র সাজানোর ধারণা ব্যবহার করে সাজাতে হবে৷
এটি একটি ইন-প্লেস অ্যালগরিদম এবং অদলবদল হয় চক্র গঠনের মাধ্যমে।
এখন নিচের বাস্তবায়নে সমাধানটি পর্যবেক্ষণ করা যাক -
উদাহরণ
def cycleSort(array):
writes = 0
# cycles to be rotated
for cycleStart in range(0, len(array) - 1):
item = array[cycleStart]
#position to place the item
pos = cycleStart
for i in range(cycleStart + 1, len(array)):
if array[i] < item:
pos += 1
# if item exits, it is not a cycle
if pos == cycleStart:
continue
# Otherwise, place the item
while item == array[pos]:
pos += 1
array[pos], item = item, array[pos]
writes += 1
# rotation continued
while pos != cycleStart:
# Find a position to place the item
pos = cycleStart
for i in range(cycleStart + 1, len(array)):
if array[i] < item:
pos += 1
# place the item
while item == array[pos]:
pos += 1
array[pos], item = item, array[pos]
writes += 1
return writes
# main
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

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