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