Heap Sort - Repository UNIKOM
STRUKTUR DATA Heap Sort
Tim Struktur Data
Program Studi Teknik Informatika
UNIKOM
Ketentuan
Heap
Tree
Complete Binary Tree (CBT)
Program Studi Teknik Informatika
Max Heap
Nilai dari simpul
>= nilai anaknya.
Min Heap Nilai dari simpul <= nilai anaknya.
Max Heap Min Heap
5
24
15
19
11
8
13
4
24
8
5
11
15
13
19
4 Contoh Heap Tree
Proses pada Heap Pembentukan Heap
Program Studi Teknik Informatika Pengurutan Data pada Heap (Heap Sort)
Pembentukan Heap
7
3
2
14
11
5
1
2
3
4
5
6
1 Proses sift_down dari simpul
14
7 bernomor tengah (banyak simpul/2
2
3 atau N/2), menurun sampai simpul
14
11
7
3
2
5 pertama.
N = 6, Tengah = N/2 = 6/2 = 3
4
5
6 Lakukan reorganisasi pada simpul ke-3
14
3
11
7
5
2 Lakukan reorganisasi pada simpul ke-2
Lakukan reorganisasi pada simpul ke-1
14
11
5
3
2
7
1
2
3
4
5
6
Pengurutan Data Heap
7
7
11
14
5
2
3
14
2
14
2
3
6
5
5
a. Binary Tree dalam keadaan Max Heap b. “Pecat” root dan tukarkan dengan simpul pada posisi terakhir c. Banyaknya simpul dikurangi 1
11
14
4
3
2
1
6
4
5
3
2
1
d. Jika N > 1, maka lakukan lagi reorganisasi heap e. Lakukan langkah pada point b sampai point d hingga simpul habis (N=0)
2
Pengurutan Data Heap Reorganisasi Heap kembali
1 Tengah = N/2 = 5/2 = 2
11
2
2 Lakukan reorganisasi pada simpul ke-2
2
3 Lakukan reorganisasi pada simpul ke-1
b. “Pecat” root dan tukarkan dengan
27
11
5 simpul pada posisi terakhir
4
5
c. Banyaknya simpul dikurangi 1
d. Jika N > 1, maka lakukan lagi
2
3
7 reorganisasi heap
e. Lakukan langkah pada point b sampai point d hingga simpul habis (N=0)
11
2
11
2
7
5
3
11
2
7
2
2
11
14
14
1
2
3
4
5
6
Pengurutan Data Heap Reorganisasi Heap kembali
1 Tengah = N/2 = 4/2 = 2
2
2
7 Lakukan reorganisasi pada simpul ke-2
2
3 Lakukan reorganisasi pada simpul ke-1
b. “Pecat” root dan tukarkan dengan
2
3
7
5 simpul pada posisi terakhir
4 c. Banyaknya simpul dikurangi 1
d. Jika N > 1, maka lakukan lagi
3 reorganisasi heap
2
e. Lakukan langkah pada point b sampai point d hingga simpul habis (N=0)
2
7
2
3
2
7
5
2
7
3
11
2
7
2
7
11
14
14
1
2
3
4
5
6
Pengurutan Data Heap Reorganisasi Heap kembali
1 Tengah = N/2 = 3/2 = 1
5
2
2 Lakukan reorganisasi pada simpul ke-1
2
3
b. “Pecat” root dan tukarkan dengan
3
5 simpul pada posisi terakhir
2
c. Banyaknya simpul dikurangi 1
d. Jika N > 1, maka lakukan lagi reorganisasi heap e. Lakukan langkah pada point b sampai point d hingga simpul habis
(N=0)
2
5
2
3
5
2
5
2
3
7
11
2
7
2
5
7
11
14
14
1
2
3
4
5
6
Pengurutan Data Heap Reorganisasi Heap kembali
1 Tengah = N/2 = 2/2 = 1
2
2
3 Lakukan reorganisasi pada simpul ke-1
2 b. “Pecat” root dan tukarkan dengan
3 simpul pada posisi terakhir
2
c. Banyaknya simpul dikurangi 1
d. Jika N > 1, maka lakukan lagi reorganisasi heap e. Lakukan langkah pada point b sampai point d hingga simpul habis
(N=0)
5
2
7
11
2
2
2
3
3
2
3
3
5
2
3
7
14
2
5
7
11
14
1
2
3
4
5
6
Pengurutan Data Heap Karena N = 1, maka tidak terjadi
1 Reorganisasi Heap
2
b. “Pecat” root
c. Banyaknya simpul dikurangi 1 Karena harga N sudah sama dengan nol (0), maka proses pengurutan data
selesai
5
2
7
11
2
2
2
3
3
2
3
5
2
3
7
14
2
5
7
11
14
1
2
3
4
5
6
Latihan No. Nama
1 Rahmat
2 Didin
3 Ahmad
4 Joned
5 Syahrul
6 Riki
7 Arif
8 Susi
9 Donni
10 Asih Urutkan data pada tabel di bawah ini secara descending berdasarkan Nama , menggunakan metode Heap Sort.
Pembentukan CBT
Rahmat
Ahmad Didin
Joned Syahrul Riki Arif
Susi Donni Asih Bukan Heap Complete Binary TreeRahmat Didin Ahmad Joned Syahrul Riki Arif Susi Donni Asih
Pembentukan Heap Rahmat Ahmad Asih Didin Rahmat Arif Ahmad
Donni Joned Syahrul Asih Didin Riki Rahmat Arif
Susi Joned Donni Asih SyahrulHeap
Ahmad Asih Arif Donni Didin Riki Rahmat Susi Joned Syahrul
Pengurutan Heap
Syahrul
Ahmad
Arif Asih Donni Didin Riki Rahmat Susi Joned Syahrul
Bukan Heap
Syahrul Ahmad Asih Arif Donni Didin Riki Rahmat Susi Joned Syahrul Ahmad Ahmad
Pengurutan Heap Riki Susi
Heap
Joned Donni Didin Asih Arif Rahmat
Syahrul
Arif
Syahrul Rahmat SyahrulAsih Arif Donni Didin Riki Rahmat Susi Joned Syahrul Ahmad Syahrul Ahmad Arif Syahrul Rahmat
Syahrul
Pengurutan Heap
Joned Arif
AsihRahmat Donni Didin Riki Syahrul Susi Joned
Bukan Heap
Joned Arif Asih Rahmat Donni Didin Riki Syahrul Susi Joned Arif Arif Syahrul Ahmad Ahmad
Pengurutan Heap
Asih
Joned
Joned Didin Asih Rahmat Donni Joned Didin Riki Syahrul Susi
Heap
Joned Asih Joned Didin Asih Rahmat Donni Joned Didin Riki Syahrul Susi Joned Arif Arif Syahrul Ahmad Ahmad
Pengurutan Heap
Asih Susi
RahmatDidin
Donni Joned Riki Syahrul
Bukan Heap Susi Asih Susi Didin Rahmat Donni Joned Riki Syahrul Asih Asih Susi Joned Arif Arif Syahrul Ahmad Ahmad
Pengurutan Heap
Didin
Susi
Donni Susi Rahmat Didin
Donni Susi Joned Riki Syahrul
Heap
Didin Susi Donni Didin Susi Rahmat Donni Susi Joned Riki Syahrul Asih Asih Susi Joned Arif Arif Syahrul Ahmad Ahmad
Pengurutan Heap Syahrul Didin Donni Rahmat Susi Joned Riki Syahrul
Bukan Heap
Syahrul Didin Donni Rahmat Susi Joned Riki Syahrul Didin Didin Asih Asih Susi Joned Arif Arif Syahrul Ahmad Ahmad
Pengurutan Heap
Syahrul Donni
Syahrul Donni Joned Rahmat
Syahrul Susi Joned Riki
Heap
Syahrul Donni Syahrul Joned Donni Rahmat Susi Syahrul Joned Riki Syahrul Didin Didin Asih Susi Asih Joned Arif Arif Syahrul Ahmad Ahmad
Pengurutan Heap
Donni Riki
JonedRahmat Susi Syahrul Riki
Bukan Heap
Donni Riki Joned Rahmat Susi Syahrul Donni Donni Riki Syahrul Didin Didin Asih Asih Susi Joned Arif Arif Syahrul Ahmad Ahmad
Pengurutan Heap
Joned Riki
Joned RikiRahmat Susi Syahrul
Heap
Joned Riki Joned Riki Rahmat Susi Syahrul Donni Donni Riki Syahrul Didin Didin Asih Susi Asih Joned Arif Arif Syahrul Ahmad Ahmad
Pengurutan Heap
Syahrul Joned
RikiRahmat Susi Syahrul
Bukan Heap
Syahrul Joned Riki Rahmat Susi Syahrul Joned Joned Donni Donni Riki Syahrul Didin Didin Susi Asih Asih Joned Arif Arif Syahrul Ahmad Ahmad
Pengurutan Heap
Rahmat Syahrul
RikiSyahrul Rahmat Susi Heap
Syahrul Rahmat Riki Syahrul Rahmat Susi Syahrul Joned Donni Donni Donni Riki Syahrul Didin Didin Asih Asih Susi Joned Arif Arif Syahrul Ahmad Ahmad
Pengurutan Heap
Rahmat Susi
RikiSyahrul Susi
Bukan Heap
Rahmat Susi Riki Syahrul Rahmat Rahmat Susi Syahrul Joned Donni Donni Donni Riki Syahrul Didin Didin Asih Susi Asih Joned Arif Arif Syahrul Ahmad Ahmad
Pengurutan Heap
Riki Susi
Riki SusiSyahrul
Heap
Susi Riki Susi Riki Syahrul Rahmat Rahmat Susi Syahrul Joned Donni Donni Donni Riki Syahrul Didin Didin Asih Susi Asih Joned Arif Arif Syahrul Ahmad Ahmad
1
2
3
4
5
6
7
8
9
10
Pengurutan Heap
Syahrul Riki
SusiSyahrul
Bukan Heap
Syahrul Riki Susi Syahrul Riki Riki Rahmat Rahmat Susi Syahrul Joned Donni Donni Donni Riki Syahrul Didin Didin Asih Asih Susi Joned Arif Arif Syahrul Ahmad Ahmad
1
2
3
4
5
6
7
8
9
10
Pengurutan Heap Syahrul Susi Susi Syahrul
Heap
Syahrul Susi Syahrul Susi Syahrul Rahmat Riki Rahmat Susi Syahrul Joned Donni Donni Donni Riki Syahrul Didin Didin Asih Asih Susi Joned Arif Arif Syahrul Ahmad Ahmad
1
2
3
4
5
6
7
8
9
10
Pengurutan Heap Syahrul Susi Syahrul
Heap
Syahrul Susi Syahrul Susi Susi Syahrul Rahmat Riki Rahmat Susi Syahrul Joned Donni Donni Donni Riki Syahrul Didin Didin Susi Asih Asih Joned Arif Arif Syahrul Ahmad Ahmad
1
2
3
4
5
6
7
8
9
10
Pengurutan Heap Syahrul
Syahrul Syahrul Syahrul Susi Susi Syahrul Rahmat Riki Rahmat Susi Syahrul Joned Donni Donni Donni Riki Syahrul Didin Didin Asih Asih Susi Joned Arif Arif Syahrul Ahmad Ahmad
1
2
3
4
5
6
7
8
9
10
Terima Kasih
Tim Struktur Data
Program Studi Teknik Informatika - UNIKOM