NIM: 5302422091
a. Source Code
b. Hasil Compiler
c. Analisis
1. Input Array
a. Deklarasi fungsi Heaps menggunakan parameter array dan integer
largest = i
l = 2 * i + 1
r = 2 * i + 2
c. Indeks le/ Child diberikan oleh 2i + 1 dan right Child diberikan oleh 2i + 2.
d. Jika le/ Child lebih besar dari elemen pada indeks ke-i, setel le/ ChildIndex
sebagai yang terbesar.
e. Jika right Child lebih besar dari elemen terbesar, atur rightChildIndex sebagai
terbesar.
if l < n and arr[i] < arr[l]:
largest = l
if largest != i:
arr[i],arr[largest] = arr[largest],arr[i]
heapify(arr, n, largest)
c. Apabila size :dak sama dengan 0 atau Node sudah ada, masukkan newNode di akhir
atau simpul terakhir dari kiri ke kanan.
else:
array.append(newNum);
for i in range((size//2)-1, -1, -1):
heapify(array, size, i)
array.remove(num)
c. Apabila :dak, maka tukar Node yang akan dihapus denga leaf Node yang terakhir
untuk menghapus Node
for i in range((len(array)//2)-1, -1, -1):
heapify(array, len(array), i)
insert(arr, 1)
insert(arr, 8)
insert(arr, 7)
insert(arr, 5)
insert(arr, 3)
deleteNode(arr, 8)
print("After deleting an element: " + str(arr))