Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pertemuan 15 Red-Black Tree (RBT)

Presentasi serupa


Presentasi berjudul: "Pertemuan 15 Red-Black Tree (RBT)"— Transcript presentasi:

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 …


Download ppt "Pertemuan 15 Red-Black Tree (RBT)"

Presentasi serupa


Iklan oleh Google