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 Tree

  Rahmat 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 Syahrul

Heap

  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 Syahrul

  Asih Arif Donni Didin Riki Rahmat Susi Joned Syahrul Ahmad Syahrul Ahmad Arif Syahrul Rahmat

  Syahrul

  Pengurutan Heap

Joned Arif

Asih

  Rahmat 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

Rahmat

  Didin

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

Joned

  Rahmat 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 Riki

  Rahmat 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

Riki

  Rahmat 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

Riki

  Syahrul 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

Riki

  Syahrul 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 Susi

  Syahrul

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

Susi

  Syahrul

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