Anda di halaman 1dari 2

http://www.cs.usfca.edu/~galles/visualization/RedBlack.

html
Delete RBT :
1. Untuk menghapus node merah dan berada di ujung (leaf), maka langsung hapus.
2. Untuk menghapus node bukan leaf (baik merah maupun hitam), maka lihat ke node
penggantinya. Jika node pengganti berwarna merah dan berada di ujung (leaf), ma
ka langsung gantikan nilainya dan hapus node penggantinya. (tanpa ada ubah warna
)
Peraturan :
Ketika menghapus node hitam, akan muncul Token Double Black.
Token Double black akan hilang jika telah sampai di root atau ketemu node merah
(dalam hal ini, node merah diubah menjadi hitam).
3. Untuk menghapus node hitam, muncul Token Double Black. Kondisinya :
Jika sibling dari node yang dihapus berwarna hitam, dan semua node anaknya berwa
rna hitam, maka ubah warna siblingnya menjadi merah. Kemudian lanjutkan pengecek
an oleh token double black.
4. Untuk menghapus node hitam, muncul Token Double Black. lihat kondisinya :
Jika sibling berwarna hitam dan salah satu atau kedua warna node anaknya merah,
maka rotasi dan ubah warna (warna parent tidak berubah, warna node anak yang bar
u menjadi hitam & token double black hilang).
*note : pada kasus ini, jalur rotasi ditentukan dari parent dilihat terhadap nod
e anak dari sibling yang berwarna merah, jika kedua node anak dari sibling berwa
rna merah, boleh dilakukan single rotate atau double rotate, sisanya ditentukan
dari jalur node parent terhadap node anak punya sibling yang berwarna merah)
5. Untuk menghapus node hitam dan siblingnya berwarna merah, maka tukar warna pa
rent dan siblingnya, kemudian lanjutkan dengan rotasi di parentnya, setelah ini
dilanjutkan dengan pengecekan token double black dari posisi yang sama.
Pengecekan Token Double Black [Metode yang digunakan pada point 3-5]:
1. jika sibling dari token double black tsb, berwarna hitam dan anak2nya semua h
itam, maka ubah warna siblingnya menjadi merah. [lanjut]
2. jika siblingnya hitam dan anak2nya ada yg berwarna merah, maka lakukan rotasi
dan ubah warna node anak menjadi hitam.[stop]
3. jika siblingnya merah, maka tukar warna parent dan siblingnya kemudian rotasi
dan lanjutkan pengecekan dari tempat yang sama.
Contoh Kasus 4 :
Case 1 :
Parent [Black]
Node X[Black]

Node Y [Black]
Node Z [Red]

Maka jalur rotasinya adalah RL-Rotation.


Case 2 :
Parent [Black]
Node X[Black]

Node Y [Black]
Node Z [Red]

Maka jalur rotasinya adalah RR-Rotation.


Case 3 :
Parent [Black]

Node X[Black]

Node Y [Black]
Node Z1 [Red] Node Z2 [Red]

Maka jalur rotasinya adalah RL-Rotation atau RR-Rotation.

Anda mungkin juga menyukai