Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehRicardo Dragneel Telah diubah "9 tahun yang lalu
1
z Bekti - Rita - Sevenhot Struktur Data & Algoritma 2009
2
DEFINISI DEFINISI HEAP
Sebuah complete binary tree dengan ketentuan sebagai berikut : Perbandingan suatu node dengan suatu nilai node child-nya mempunyai ketentuan tertentu berdasarkan jenis heap-nya Jenis heap MAXHEAP (elemen maksimum di root) : A[parent(i)] ≥ A[i] nilai node lebih besar atau sama dengan nilai childnya MINHEAP (elemen minimum di root) : A[parent(i)] ≤ A[i] nilai node lebih kecil atau sama dengan nilai childnya Bekti.Rita.Sevenhot SDA
3
CONTOH HEAP MAXHEAP MINHEAP 12 2 10 7 4 7 6 2 4 7 12 4 8 10
nilai node ≥ nilai childnya nilai node ≤ nilai childnya Bekti.Rita.Sevenhot SDA
4
Heap adalah suatu priority queue (mempertahankan antrian prioritas).
Dalam antrian prioritas, elemen yang dihapus adalah elemen yang mempunyai prioritas terbesar (atau terkecil, tergantung keperluan), dan elemen inilah yang selalu terletak di akar (root). Suatu heap sewaktu-waktu dapat berubah, baik itu dikarenakan penambahan elemen (insert) ataupun penghapusan elemen (delete). Struktur data heap biasanya diimplementasikan dalam array Bekti.Rita.Sevenhot SDA
5
INDEXING INDEXING 1 parent(i) = i/2 left_child(i) = 2·i
right_child(i) = 2·i + 1 2 3 4 5 6 7 Bekti.Rita.Sevenhot SDA
6
OPERASI HEAP OPERASI HEAP INSERT
Memasukkan data baru ke dalam heap tree Contoh : insert 9 Karena 9 < 10, maka 10 tidak terjadi switch Proses insert berhenti 10 7 1 3 2 4 9 10 7 9 3 2 4 1 10 9 7 3 2 4 1 exchange 9 > 1 exchange 9 > 7 Bekti.Rita.Sevenhot SDA
7
terbesar naik menjadi root
OPERASI HEAP OPERASI HEAP ROOT DELETION Menghapus root pada heap tree Contoh : delete root 12 2 Elemen dengan indeks terbesar naik menjadi root HEAPIFY 7 10 7 10 1 3 4 2 1 3 4 Bekti.Rita.Sevenhot SDA
8
HEAPiFY HEAPIFY Definisi Algoritma
Proses mengubah binary tree menjadi heap tree Algoritma Heapify(A,i) l ← left [i] r ← right [i] if l ≤ heap-size [A] and A[l] > A[i] then largest ← l else largest ← i if r ≤ heap-size [A] and A[r] > A[largest] then largest ← r if largest ≠ i then exchange A[i] ↔ A[largest] Heapify (A, largest) Bekti.Rita.Sevenhot SDA
9
HEAPiFY HEAPIFY Contoh 2 7 10 1 3 4 10 7 2 1 3 7 > 2 10 > 7
Bekti.Rita.Sevenhot SDA
10
HEAP SORT HEAP SORT HEAP SORT ALGORITHM
adalah algoritma sorting yang berdasarkan pada struktur data heap tree Kompleksitas running time-nye : O(nlog(n)) Langkah : Susun array A kedalam heap tree Ambil root pada heap tree, masukkan ke array Hapus elemen root (dengan mempertahankan sifat heap, lakukan heapify jika tidak memenuhi sifat heap) Lakukan terus (langkah 2-3) hingga tree menjadi kosong Bekti.Rita.Sevenhot SDA
11
ALGORITHM HEAP SORT ALGORITHM HEAPSORT (A) BuildHeap (A)
for i ← length (A) down to 2 do exchange A[1] ↔ A[i] heap-size [A] ← heap-size [A] Heapify (A, 1) Bekti.Rita.Sevenhot SDA
12
heap-size (A) ← length [A] for i ← floor(length[A]/2) down to 1 do
BuildHeap(A) heap-size (A) ← length [A] for i ← floor(length[A]/2) down to 1 do Heapify (A, i) Heapify(A,i) l ← left [i] r ← right [i] if l ≤ heap-size [A] and A[l] > A[i] then largest ← l else largest ← i if r ≤ heap-size [A] and A[r] > A[largest] then largest ← r if largest ≠ i then exchange A[i] ↔ A[largest] Heapify (A, largest) Bekti.Rita.Sevenhot SDA
13
SIMULASI SIMULASI HEAP SORT Array A = [1, 4, 89, 77, 12, 50, 23]
BuildHeap(A) Bekti.Rita.Sevenhot SDA
14
SIMULASI SIMULASI HEAP SORT Array A = [1, 4, 89, 77, 12, 50, 23]
BuildHeap(A) insert 1 1 1 4 89 77 12 50 23 Bekti.Rita.Sevenhot SDA
15
SIMULASI SIMULASI HEAP SORT Array A = [1, 4, 89, 77, 12, 50, 23]
BuildHeap(A) insert 1 insert 4 1 1 4 4 1 4 1 89 77 12 50 23 Bekti.Rita.Sevenhot SDA
16
SIMULASI SIMULASI HEAP SORT Array A = [1, 4, 89, 77, 12, 50, 23]
BuildHeap(A) insert 1 insert 4 insert 89 1 1 4 4 89 4 1 1 89 1 4 89 1 4 77 12 50 23 Bekti.Rita.Sevenhot SDA
17
SIMULASI SIMULASI HEAP SORT BuildHeap(A) 89 77 4 1 12 50 23 insert 77
Bekti.Rita.Sevenhot SDA
18
SIMULASI SIMULASI HEAP SORT BuildHeap(A) 89 77 4 1 12 50 23 insert 77
Bekti.Rita.Sevenhot SDA
19
SIMULASI SIMULASI HEAP SORT BuildHeap(A) 89 77 50 1 12 4 23 insert 77
Bekti.Rita.Sevenhot SDA
20
SIMULASI SIMULASI HEAP SORT BuildHeap(A) 89 77 50 1 12 4 23 insert 23
Bekti.Rita.Sevenhot SDA
21
SIMULASI SIMULASI HEAP SORT Delete root Heapify 77 23 40 1 12 4 89
50 77 50 23 50 1 12 4 23 1 12 4 1 12 4 77 23 40 1 12 4 89 sorted Bekti.Rita.Sevenhot SDA
22
SIMULASI SIMULASI HEAP SORT Delete root Heapify 55 23 4 1 12 77 89
50 Delete root Heapify 23 50 23 50 23 4 1 12 4 1 12 1 12 55 23 4 1 12 77 89 sorted Bekti.Rita.Sevenhot SDA
23
SIMULASI SIMULASI HEAP SORT Delete root Heapify 23 12 4 1 55 77 89
50 12 23 Delete root Heapify 23 4 23 4 12 4 1 12 1 1 23 12 4 1 55 77 89 sorted Bekti.Rita.Sevenhot SDA
24
SIMULASI SIMULASI HEAP SORT Delete root Heapify 12 1 4 23 55 77 89
sorted Bekti.Rita.Sevenhot SDA
25
SIMULASI SIMULASI HEAP SORT Delete root 4 1 12 23 55 77 89 sorted 12 4
Bekti.Rita.Sevenhot SDA
26
SIMULASI SIMULASI HEAP SORT Delete root Delete root 1 4 12 23 55 77 89
sorted Bekti.Rita.Sevenhot SDA
27
SIMULASI SIMULASI HEAP SORT Delete root Delete root Delete root 1 4 12
23 55 77 89 sorted Bekti.Rita.Sevenhot SDA
28
Selesai & Terima kasih Bekti.Rita.Sevenhot SDA
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.