Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Z Bekti - Rita - Sevenhot Struktur Data & Algoritma 2009.

Presentasi serupa


Presentasi berjudul: "Z Bekti - Rita - Sevenhot Struktur Data & Algoritma 2009."— Transcript presentasi:

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


Download ppt "Z Bekti - Rita - Sevenhot Struktur Data & Algoritma 2009."

Presentasi serupa


Iklan oleh Google