Uygulama konusu: Min-Heap yapısına göre sıralı olmayan bir dizinin sıralanması işlemidir.
def heapify(arr, n, i):
en_buyuk = i
sol = 2 * i + 1
sag = 2 * i + 2
if sol < n and arr[i] < arr[sol]:
en_buyuk = sol
if sag < n and arr[en_buyuk] < arr[sag]:
en_buyuk = sag
if en_buyuk != i:
arr[i],arr[en_buyuk] = arr[en_buyuk],arr[i]
heapify(arr, n, en_buyuk)
def heapSort(arr):
n = len(arr)
for i in range(n, -1, -1):
heapify(arr, n, i)
for i in range(n-1, 0, -1):
arr[i], arr[0] = arr[0], arr[i]
heapify(arr, i, 0)
arr = [ 54,26,93,17]
heapSort(arr)
n = len(arr)
print ("Sıralı heap: ")
print(arr)
Hiç yorum yok:
Yorum Gönder