কম্পিউটার

হিপ সাজানোর জন্য পাইথন প্রোগ্রাম


এই নিবন্ধে, আমরা নীচে দেওয়া সমস্যার বিবৃতিটির সমাধান সম্পর্কে শিখব।

সমস্যা বিবৃতি − আমাদের একটি অ্যারে দেওয়া হয়েছে, আমাদের এটিকে হেপসর্টের ধারণা ব্যবহার করে সাজাতে হবে।

এখানে আমরা সর্বাধিক উপাদানটি শেষে রাখি। অ্যারে সাজানো না হওয়া পর্যন্ত এটি পুনরাবৃত্তি হয়।

এখন নিচের বাস্তবায়নে সমাধানটি পর্যবেক্ষণ করা যাক—

উদাহরণ

# heapify
def heapify(arr, n, i):
   largest = i # largest value
   l = 2 * i + 1 # left
   r = 2 * i + 2 # right
   # if left child exists
   if l < n and arr[i] < arr[l]:
      largest = l
   # if right child exits
   if r < n and arr[largest] < arr[r]:
      largest = r
   # root
   if largest != i:
      arr[i],arr[largest] = arr[largest],arr[i] # swap
      # root.
      heapify(arr, n, largest)
# sort
def heapSort(arr):
   n = len(arr)
   # maxheap
   for i in range(n, -1, -1):
      heapify(arr, n, i)
   # element extraction
   for i in range(n-1, 0, -1):
      arr[i], arr[0] = arr[0], arr[i] # swap
      heapify(arr, i, 0)
# main
arr = [2,5,3,8,6,5,4,7]
heapSort(arr)
n = len(arr)
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. বাবল সাজানোর জন্য পাইথন প্রোগ্রাম

  3. নির্বাচন সাজানোর জন্য পাইথন প্রোগ্রাম

  4. সন্নিবেশ সাজানোর জন্য পাইথন প্রোগ্রাম