Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Pertemuan 15 Red-Black Tree (RBT)
Matakuliah : T0026/Struktur Data Tahun : 2005 Versi : 1/1 Pertemuan 15 Red-Black Tree (RBT)
2
Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Mahasiswa dapat menghasilkan program modular untuk mengimplementasikan ADT Red-Black tree
3
Pengertian dan kegunaan RBT Contoh Red-Black Tree Operasi pada RBT
Outline Materi Pengertian dan kegunaan RBT Contoh Red-Black Tree Operasi pada RBT inserting data RBT Deleting data RBT contoh program implementasi
4
Memiliki karakteristik BST Node memiliki warna, red atau black
Root selalu black Node eksternal selalu black Node eksternal Node eksternal boleh tidak ditulis
5
Anak dari node red harus black tidak ada 2 node red yg berurutan
Karakteristik (2) Anak dari node red harus black tidak ada 2 node red yg berurutan 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
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
Insert : Kasus 1 atau Jika parent node baru BLACK, tree masih memenuhi persyaratan tree R-B
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
Insert : Kasus 3 Node baru (Y) dan parent berurutan berwarna RED
Supaya memenuhi persayaratan tree R-B, dilakukan rotasi ganda dan pergantian warna
10
Insert : Kasus 4 Node baru dan parent, berurutan RED
Perubahan RED-BLACK pada parent dan uncle Perubahan BLACK-RED pada grandparent
11
Contoh Insert : Insert A, L, G, O , R, I, T, H, M
A menjadi Root, harus BLACK, perubahan warna Tree dirotasi ganda, kemudian diikuti perubahan warna Root A L
12
Lanjutan A L G O A L G O R I A L G O R I A L G O R A L G O R I T
Tree dirotasi tunggal (kasus 2) A L G O R A L G O R I T
13
Lanjutan A L G O R I T H G A I O R L T H M Rotasi tunggal
Perubahan warna Rotasi ganda
14
Delete Delete pada tree R-B menyerupai BST Pada BST : Pada tree R-B :
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 3 56 3 3
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
Delete : Kasus A Sibling dari node double-black : BLACK
Satu nephew dari node double-black : RED Rotasi tunggal atau ganda dan token dihapus
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
Delete : Kasus C Sibling dari node double-black : RED
Terjadi rotasi tunggal dan perubahan warna
19
Contoh Delete G L I O R T H A M G L I O R T H M I G L I O R T H M G O
Delete A : delete leaf BLACK, black-height terganggu kasus B I G L I O R T H M G O Kasus B H L R M T token double BLACK pada posisi eks node BLACK Token di Root dapat dihapus
20
Contoh Delete (lanjutan 1)
Token mengubah RED jadi BLACK G L I O R T H M G M I O R T H G M I O R T H Delete L: node mempunyai child leaf RED yang akan menggantikan. Token double-black pada posisi eks node BLACK
21
Contoh Delete (lanjutan 2)
G M I O R T H H M I O R T Token mengubah RED jadi BLACK H M I O R T Delete G: child leaf RED yang akan menggantikan, token pada bekas posisi BLACK H I M R T H M I O R T kasus A H I R T M Delete O: child leaf M yang akan menggantikan, token di bekasposisi node BLACK
22
Contoh Delete (lanjutan 3)
I R T M H I M T H I M T kasus B Token mengubah RED jadi BLACK Delete R: node R mempunyai predecessor BLACK yang akan menggantikan. Token diletakkan pada bekas posisi M H I M T
23
Contoh Delete (lanjutan 4)
I M T H M T Kasus A M T H Delete I: leaf H akan menggantikan I, token di bekas posisi H Hapus token di Root M T H M H Kasus B M H M H Delete T: token diletakkan di bekas posisi T
24
Contoh Delete (lanjutan 5)
M H M Delete H: delete leaf RED, langsung delete
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 …
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.