Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

1 Pertemuan 15 Red-Black Tree (RBT) Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1.

Presentasi serupa


Presentasi berjudul: "1 Pertemuan 15 Red-Black Tree (RBT) Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1."— Transcript presentasi:

1 1 Pertemuan 15 Red-Black Tree (RBT) Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1

2 2 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Mahasiswa dapat menghasilkan program modular untuk mengimplementasikan ADT Red-Black tree

3 3 Outline Materi Pengertian dan kegunaan RBT Contoh Red-Black Tree Operasi pada RBT inserting data RBT Deleting data RBT contoh program implementasi

4 4 Karakteristik (1) 1.Memiliki karakteristik BST 2.Node memiliki warna, red atau black –Root selalu black –Node eksternal selalu black Node eksternal Node eksternal boleh tidak ditulis

5 5 Karakteristik (2) 3.Anak dari node red harus black  tidak ada 2 node red yg berurutan 4.Black-height yang sama pd kedua simple path dari suatu node ke leaf black-height (bh) : Jumlah node black pd suatu simple path bh(node 2) = 1 bh(node 11) = 2

6 6 Insert Node baru diberi warna RED Hasil insert harus tetap memenuhi karakteristik tree RB Pemeriksaan node setelah insert dilakukan berurutan dari node baru ke node-node lain (ancestor) ke arah Root

7 7 Insert : Kasus 1 Jika parent node baru BLACK, tree masih memenuhi persyaratan tree R-B atau

8 8 Insert : Kasus 2 Node baru (X atau Z) dan parent berurutan berwarna RED Supaya memenuhi persayaratan tree R-B, dilakukan rotasi tunggal dan pergantian warna

9 9 Insert : Kasus 3 Node baru (Y) dan parent berurutan berwarna RED Supaya memenuhi persayaratan tree R-B, dilakukan rotasi ganda dan pergantian warna

10 10 Insert : Kasus 4 Node baru dan parent, berurutan RED Perubahan RED-BLACK pada parent dan uncle Perubahan BLACK-RED pada grandparent

11 11 Contoh Insert : Insert A, L, G, O, R, I, T, H, M AA A menjadi Root, harus BLACK, perubahan warna A L A L G AL G Tree dirotasi ganda, kemudian diikuti perubahan warna Root

12 12 Lanjutan Tree dirotasi tunggal (kasus 2) AL G O R A L G O R AL G O A L G O R I A L G O R IT A L G O R I

13 13 Lanjutan A L G O R IT H G A I O R L T H Rotasi tunggal G A I O R L T H M G A I O R L T H M I GO R L T H M A Perubahan warna Rotasi ganda

14 14 Delete Delete pada tree R-B menyerupai BST Pada BST : Jika node 56 dihapus, isi child (3) di-copy ke posisi 56 yg dihapus, dan node child dihapus Pada tree R-B : –Hapus node BLACK akan menyebabkan keseimbangan black- height terganggu –Token double-black ‘menggantikan’ posisi BLACK yg dihapus –Proses thd token, mengikuti kasus A, B atau C

15 15 Delete (lanjutan) Token double-black pada node RED: mengubah warna node menjadi BLACK, dan token akan dihapus Token double-black pada Root (BLACK): dapat dihapus, tidak ada pengaruh Delete leaf RED, langsung dihapus karena tidak mempengaruhi keseimbangan black-height

16 16 Delete : Kasus A Sibling dari node double-black : BLACK Satu nephew dari node double-black : RED Rotasi tunggal atau ganda dan token dihapus

17 17 Delete : Kasus B Sibling dari node double-black : BLACK Dua nephew dari node double-black : BLACK Token dipindahkan ke atas dengan perubahan warna tanpa rotasi

18 18 Delete : Kasus C Sibling dari node double-black : RED Terjadi rotasi tunggal dan perubahan warna

19 19 Contoh Delete G L I O R T H A M Delete A : delete leaf BLACK, black-height terganggu G L I O R T H M token double BLACK pada posisi eks node BLACK G L I O R T H M G L I O R T H M Token di Root dapat dihapus Kasus B kasus B

20 20 Contoh Delete (lanjutan 1) G L I O R T H M Delete L: node mempunyai child leaf RED yang akan menggantikan. G M I O R T H G M I O R T H Token double-black pada posisi eks node BLACK Token mengubah RED jadi BLACK

21 21 Contoh Delete (lanjutan 2) G M I O R T H Delete G: child leaf RED yang akan menggantikan, token pada bekas posisi BLACK H M I O R T H M I O R T Token mengubah RED jadi BLACK H M I O R T H I M R T H I R T M kasus A Delete O: child leaf M yang akan menggantikan, token di bekasposisi node BLACK

22 22 Contoh Delete (lanjutan 3) H I R T M Delete R: node R mempunyai predecessor BLACK yang akan menggantikan. H I M T H I M T kasus B H I M T Token mengubah RED jadi BLACK Token diletakkan pada bekas posisi M

23 23 Contoh Delete (lanjutan 4) H I M T Delete I: leaf H akan menggantikan I, token di bekas posisi H H M T Kasus A M T H M T H Delete T: token diletakkan di bekas posisi T M H Kasus B M H M H Hapus token di Root

24 24 Contoh Delete (lanjutan 5) M H Delete H: delete leaf RED, langsung delete M

25 25 Latihan Jika pada saat delete O, yang menggantikan adalah node dari subtree kanan, tree R-B menjadi … Jika pada saat delete I, yang menggantikan adalah node yang berasal dari subtree kanan, tree R-B menjadi …


Download ppt "1 Pertemuan 15 Red-Black Tree (RBT) Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1."

Presentasi serupa


Iklan oleh Google