SlideShare ist ein Scribd-Unternehmen logo
1 von 59
Red Black Tree
 Red Black Tree (RB-Tree)
 Sebagai alternatif ‘balance tree’ bagi AVL-Tree, oleh
karena itu RB-Tree memiliki sifat sebagai Binary Serach
Tree.
 RB-Tree, tidak sebaik AVL-Tree dalam hal ‘height-
balance ’, tetapi RB-Tree mempunyai keunggulan dalam
hal proses Insert dan Delete, dengan kata lain untuk
mempercepat proses Insert dan Delete, RB-Tree
mengorbankan kwalitas ‘height-balance ’.
Copyright Sunarya D. Marwah
Red Black Tree
Karakteristik RB-Tree
 Setiap node berwarna red atau black
 Setiap node red harus mempunyai anak black
 Setiap jalur dari root ke semua leaf harus
memiliki jumlah node black yang sama.
 Root berwarna black.
 NULL dihitung sebagai black.
Copyright Sunarya D. Marwah
Red Black Tree
 Insert
Misalkan: n = node-baru
p = parent dari n
gp = parent dari parent
u = uncle dari n
- Data baru n berwarna red
Copyright Sunarya D. Marwah
Red Black Tree
 Keadaan sederhana (1):
- (1a) Bila n = root,
n-color = black, selesai.
- (1b) Bila p.color = black,
n.color tidak berubah, selesai.
Copyright Sunarya D. Marwah
Red Black Tree
 Keadaan tidak sederhana (2)
- (2) If p.color == red:
- If u.color == red:
- Flip color: p.color = u.color = black.
gp.color = red.
Lanjutkan rebalancing pada gp
(bila belum selesai)
Copyright Sunarya D. Marwah
Red Black Tree
 Keadaan tidak sederhana (3)
- (3a) If p.color == red:
If u.color == black:
- If n == p.left and p == gp.left:
Single rotation: right(gp);
Flip color: p.color = black.
gp.color = red;
Copyright Sunarya D. Marwah
Red Black Tree
 Keadaan tidak sederhana (3)
- (3b) If p.color == red:
- If u.color == black:
- If n == p.right and p == gp.left:
Double rot. : left(p); right(gp);
Flip color: n.color = black.
gp.color = red;
Copyright Sunarya D. Marwah
Red Black Tree
 Keadaan tidak sederhana
Aturan diatas berlaku untuk keadaan
setangkup (mirror), yaitu:
- (3a) n == p.right and p == gp.right.
- (3b) n == p.left and p == gp.right.
Copyright Sunarya D. Marwah
Red Black Tree
 Contoh insert:
+65 +76 +71 +79 +82 +73 +84 +72 +77
+65 Kasus 1a.
+76 Kasus 1b.
Copyright Sunarya D. Marwah
76
65
65
Red Black Tree
+71 Kasus 3b
Flip color
Copyright Sunarya D. Marwah
76
65
71
71
65 76
71
65 76
71
65
76
Red Black Tree
+79 Kasus 2
Root harus black
Copyright Sunarya D. Marwah
71
65 76
79
71
65 76
79
71
65 76
79
Red Black Tree
+82 Kasus 3a
Copyright Sunarya D. Marwah
71
65 76
79
82
71
65 79
8276
Red Black Tree
+73 Kasus 2
Copyright Sunarya D. Marwah
71
65 79
8276
71
65 79
8276
73 73
Red Black Tree
+84 Kasus 1b
Copyright Sunarya D. Marwah
71
65 79
8276
71
65 79
8276
73 73 84
Red Black Tree
+72 Kasus 3a
Copyright Sunarya D. Marwah
71
65 79
8273
71
65 79
8276
73 72 8484
72
76
Red Black Tree
+77 Kasus 2
Rebalancing dilanjutkan pada gp
Copyright Sunarya D. Marwah
71
65 79
8273
71
65 79
8273
72 71 848476 76
77 77
Red Black Tree
+77 Kasus 3b
Rotasi
kanan
Copyright Sunarya D. Marwah
71
65 73
7972
71
65 79
8273
72 828476 76
77 77 84
Red Black Tree
Lanjutan +77 Rotasi kiri
Copyright Sunarya D. Marwah
71
65
73
79
72 8276
77 84
71
65 73
7972
8276
77 84
Red Black Tree
 Hasil insert:
+65 +76 +71 +79 +82 +73 +84 +72 +77
Copyright Sunarya D. Marwah
71
65
73
79
72 8276
77 84
Red Black Tree
 Delete
Misalkan: v = node yang dihapus
u = node pengganti
p = parent dari u
s = sibling dari u
z = child dari s (z keponakan u)
Copyright Sunarya D. Marwah
Red Black Tree
 Keadaan sederhana (1):
- (1a) Bila u = leaf dan u.color = red,
delete u, selesai.
- (1b) Bila u != leaf dan u.color = red dan
u.color = v.color, selesai.
 Bila u.color == black, keadaan menjadi tidak
sederhana
Copyright Sunarya D. Marwah
Red Black Tree
 Double black Node
Node v adalah node yang dihapus
Node u adalah node pengganti v.
Bila v.color = red, u.color = black.
Bila v.color = black, u.color = double black.
Copyright Sunarya D. Marwah
Red Black Tree
 Double black Node
Penandaan double black merupakan suatu
usaha secara sementara, memaksa bahwa seluruh
jalur memiliki jumlah black node yang sama.
Tetapi hal ini bukan merupakan penandaan yang
sah dan permanen, sehingga pengaturan RB-tree
(rotasi dan flip color) tetap harus dilakukan.
Copyright Sunarya D. Marwah
Red Black Tree
 Keadaan tidak sederhana (2):
 Bila node u (pengganti v) == black.
- Bila s.color = black dan ada satu z.color = red.
Lakukan perubahan sebagai berikut:
(2a) Single-rotation pada p, kemudian
flip-color z.color = black, s.color = red.
(2b) Double-rotation pada s, kemudian pada p,
kemudian z.color = black.
Copyright Sunarya D. Marwah
Red Black Tree
 Keadaan tidak sederhana (3):
- Bila s.color = black dan z.color = black.
Lakukan perubahan seperti pada insert.
Flip-color s.color dari black menjadi red,
p.color dari red menjadi black, selesai.
Bila p.color dari black menjadi double-black,
perubahan berlanjut dengan p.
Copyright Sunarya D. Marwah
Red Black Tree
 Keadaan tidak sederhana (4):
- Bila s.color = red.
Lakukan single-rotation pada p, flip-color
s.color dari red menjadi black, p.color dari
black menjadi red, maka kasus 4, dikonversi-
kan menjadi kasus 2 atau kasus 3 untuk
diselesaikan. Bila tidak, maka perubahan
berlanjut hingga p.
Copyright Sunarya D. Marwah
Red Black Tree
 Latihan
 Insert:
+65 +76 +71 +79 +82 +73 +84 +72 +77
 Delete:
-65 -76 -71 -79 -73 -72
Copyright Sunarya D. Marwah
Red Black Tree
 Hasil insert:
+65 +76 +71 +79 +82 +73 +84 +72 +77
A L G O R I T H M
Copyright Sunarya D. Marwah
71
65
73
79
72 8276
77 84
Red Black Tree
-65
Node pengganti (u) ?
Copyright Sunarya D. Marwah
71
65
73
79
72 8276
77 84
Red Black Tree
-65 Kasus 3
Copyright Sunarya D. Marwah
71
73
79
72 8276
77 84
Double black
Red Black Tree
-65 Lanjutan
Copyright Sunarya D. Marwah
71
73
79
72 8276
77 84
Red Black Tree
-65 Hasil akhir:
Copyright Sunarya D. Marwah
71
73
79
72 8276
77 84
Red Black Tree
-76 Kasus 1 (sederhana)
Copyright Sunarya D. Marwah
71
73
79
72 8276
77 84
Red Black Tree
-76 Hasil akhir:
Copyright Sunarya D. Marwah
71
73
79
72 8277
84
Red Black Tree
-71 Kasus 1 (sederhana)
Copyright Sunarya D. Marwah
71
73
79
72 8277
84
Red Black Tree
-71 Hasil akhir
Copyright Sunarya D. Marwah
72
73
79
8277
84
Red Black Tree
-79
Copyright Sunarya D. Marwah
72
73
79
8277
84
Red Black Tree
-79 Kasus 2
Copyright Sunarya D. Marwah
72
73
77
82
84
Red Black Tree
-79 Hasil akhir:
Copyright Sunarya D. Marwah
72
73
77
82
84
Red Black Tree
-82
Copyright Sunarya D. Marwah
72
73
77
82
84
Red Black Tree
-82 Kasus 3
Copyright Sunarya D. Marwah
72
73
77
84
Red Black Tree
-82 Hasil akhir:
Copyright Sunarya D. Marwah
72
73
77
84
Red Black Tree
-73
Copyright Sunarya D. Marwah
72
73
77
84
Red Black Tree
-73 Kasus 2
Hasil akhir:
Copyright Sunarya D. Marwah
72
77
84
77
8472
77
8472
Red Black Tree
-84 Kasus 3
Copyright Sunarya D. Marwah
77
72 84
Red Black Tree
-84 Kasus 3
Hasil akhir:
Copyright Sunarya D. Marwah
77
72
77
72
Red Black Tree
-72
-77 NULL = Tree kosong !
Copyright Sunarya D. Marwah
77
72
77
77
Red Black Tree
 Latihan
 Insert:
+13 +85 +15 +70 +20 +60 +30
+50 +65 +80 +90 +40 +10 +55
 Delete:
-10 -60 -70
Copyright Sunarya D. Marwah
Red Black Tree
 Insert: +10 s/d +13
Copyright Sunarya D. Marwah
Red Black Tree
 Insert: +10 s/d +16
Copyright Sunarya D. Marwah
Red Black Tree
 Insert: +10 s/d +24
Copyright Sunarya D. Marwah
Red Black Tree
 Insert: +10 s/d +40
Copyright Sunarya D. Marwah
Red Black Tree
 Jawaban Latihan
Insert:
Copyright Sunarya D. Marwah
Red Black Tree
 Jawaban Latihan
 Delete(10):
Copyright Sunarya D. Marwah
Red Black Tree
 Jawaban Latihan
 Delete(60):
Copyright Sunarya D. Marwah
Red Black Tree
 Jawaban Latihan
 Delete(60): (lanjutan)
Copyright Sunarya D. Marwah
Red Black Tree
 Jawaban Latihan
 Delete(60): (lanjutan)
Copyright Sunarya D. Marwah
Red Black Tree
 Jawaban Latihan
 Delete(70):
Copyright Sunarya D. Marwah
Red Black Tree
 Jawaban Latihan
 Delete(70): (lanjutan)
Copyright Sunarya D. Marwah

Weitere ähnliche Inhalte

Was ist angesagt?

Matematika himpunan
Matematika himpunanMatematika himpunan
Matematika himpunan
dattebayo90
 
12. contoh soal uts statistika
12. contoh soal uts statistika12. contoh soal uts statistika
12. contoh soal uts statistika
aliyudin007
 
Distribusi Peluang Diskrit dan Distribusi Peluang Kontinu
Distribusi Peluang Diskrit dan Distribusi Peluang KontinuDistribusi Peluang Diskrit dan Distribusi Peluang Kontinu
Distribusi Peluang Diskrit dan Distribusi Peluang Kontinu
Arning Susilawati
 

Was ist angesagt? (20)

5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
 
Matematika Diskrit Relasi Rekursif
Matematika Diskrit Relasi RekursifMatematika Diskrit Relasi Rekursif
Matematika Diskrit Relasi Rekursif
 
Matematika Diskrit - 08 kombinatorial - 02
Matematika Diskrit - 08 kombinatorial - 02Matematika Diskrit - 08 kombinatorial - 02
Matematika Diskrit - 08 kombinatorial - 02
 
Sistem Berbasis Pengetahuan dan Sistem Pakar
Sistem Berbasis Pengetahuan dan Sistem PakarSistem Berbasis Pengetahuan dan Sistem Pakar
Sistem Berbasis Pengetahuan dan Sistem Pakar
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
 
Grup siklik
Grup siklikGrup siklik
Grup siklik
 
Matematika himpunan
Matematika himpunanMatematika himpunan
Matematika himpunan
 
Koset Suatu Grup
Koset Suatu GrupKoset Suatu Grup
Koset Suatu Grup
 
VARIABEL RANDOM & DISTRIBUSI PELUANG
VARIABEL RANDOM & DISTRIBUSI PELUANGVARIABEL RANDOM & DISTRIBUSI PELUANG
VARIABEL RANDOM & DISTRIBUSI PELUANG
 
12. contoh soal uts statistika
12. contoh soal uts statistika12. contoh soal uts statistika
12. contoh soal uts statistika
 
2. galat
2. galat2. galat
2. galat
 
Sistem berkas dan keamana data
Sistem berkas dan keamana dataSistem berkas dan keamana data
Sistem berkas dan keamana data
 
Kamus data (data dictionary) - (Bambang Sugianto - Politeknik Sawunggalih Aji...
Kamus data (data dictionary) - (Bambang Sugianto - Politeknik Sawunggalih Aji...Kamus data (data dictionary) - (Bambang Sugianto - Politeknik Sawunggalih Aji...
Kamus data (data dictionary) - (Bambang Sugianto - Politeknik Sawunggalih Aji...
 
Modul 2 pd linier orde n
Modul 2 pd linier orde nModul 2 pd linier orde n
Modul 2 pd linier orde n
 
Aturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianAturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode Pembuktian
 
Konsep Bilangan Bulat
Konsep Bilangan BulatKonsep Bilangan Bulat
Konsep Bilangan Bulat
 
Matematika Diskrit - 07 teori bilangan - 03
Matematika Diskrit - 07 teori bilangan - 03Matematika Diskrit - 07 teori bilangan - 03
Matematika Diskrit - 07 teori bilangan - 03
 
Pohon(tree) matematika diskrit
Pohon(tree) matematika diskritPohon(tree) matematika diskrit
Pohon(tree) matematika diskrit
 
Struktur aljabar-2
Struktur aljabar-2Struktur aljabar-2
Struktur aljabar-2
 
Distribusi Peluang Diskrit dan Distribusi Peluang Kontinu
Distribusi Peluang Diskrit dan Distribusi Peluang KontinuDistribusi Peluang Diskrit dan Distribusi Peluang Kontinu
Distribusi Peluang Diskrit dan Distribusi Peluang Kontinu
 

Andere mochten auch

Algebra 1 2.8 Algebraic Proof
Algebra 1 2.8 Algebraic ProofAlgebra 1 2.8 Algebraic Proof
Algebra 1 2.8 Algebraic Proof
Jaqueline Vallejo
 
Fundamentals of data structures ellis horowitz & sartaj sahni
Fundamentals of data structures   ellis horowitz & sartaj sahniFundamentals of data structures   ellis horowitz & sartaj sahni
Fundamentals of data structures ellis horowitz & sartaj sahni
Hitesh Wagle
 
Indexing and-hashing
Indexing and-hashingIndexing and-hashing
Indexing and-hashing
Ami Ranjit
 
Indexing and hashing
Indexing and hashingIndexing and hashing
Indexing and hashing
Jeet Poria
 

Andere mochten auch (20)

Red black trees1109
Red black trees1109Red black trees1109
Red black trees1109
 
Red Black Trees
Red Black TreesRed Black Trees
Red Black Trees
 
Red black tree
Red black treeRed black tree
Red black tree
 
Red black tree
Red black treeRed black tree
Red black tree
 
Algebra 1 2.8 Algebraic Proof
Algebra 1 2.8 Algebraic ProofAlgebra 1 2.8 Algebraic Proof
Algebra 1 2.8 Algebraic Proof
 
Insertion in RED BLACK TREE
Insertion in RED BLACK TREEInsertion in RED BLACK TREE
Insertion in RED BLACK TREE
 
Logic gates with laws
Logic gates with lawsLogic gates with laws
Logic gates with laws
 
Red black trees presentation
Red black trees presentationRed black trees presentation
Red black trees presentation
 
10 Red-Black Trees
10 Red-Black Trees10 Red-Black Trees
10 Red-Black Trees
 
Red black trees
Red black treesRed black trees
Red black trees
 
Red black tree
Red black treeRed black tree
Red black tree
 
B-Tree
B-TreeB-Tree
B-Tree
 
B tree long
B tree longB tree long
B tree long
 
B tree
B treeB tree
B tree
 
B+ Tree
B+ TreeB+ Tree
B+ Tree
 
Fundamentals of data structures ellis horowitz & sartaj sahni
Fundamentals of data structures   ellis horowitz & sartaj sahniFundamentals of data structures   ellis horowitz & sartaj sahni
Fundamentals of data structures ellis horowitz & sartaj sahni
 
Indexing and-hashing
Indexing and-hashingIndexing and-hashing
Indexing and-hashing
 
B Trees
B TreesB Trees
B Trees
 
Best for b trees
Best for b treesBest for b trees
Best for b trees
 
Indexing and hashing
Indexing and hashingIndexing and hashing
Indexing and hashing
 

Mehr von Sunarya Marwah

Struktur data 09 (double ended heap)
Struktur data 09 (double ended heap)Struktur data 09 (double ended heap)
Struktur data 09 (double ended heap)
Sunarya Marwah
 
Struktur data 08 (heap)
Struktur data 08 (heap)Struktur data 08 (heap)
Struktur data 08 (heap)
Sunarya Marwah
 
Struktur data 07 (b tree)
Struktur data 07 (b tree)Struktur data 07 (b tree)
Struktur data 07 (b tree)
Sunarya Marwah
 
Struktur data 05 (bs avl tree)
Struktur data 05 (bs avl tree)Struktur data 05 (bs avl tree)
Struktur data 05 (bs avl tree)
Sunarya Marwah
 
Struktur data 04 (binary tree)
Struktur data 04 (binary tree)Struktur data 04 (binary tree)
Struktur data 04 (binary tree)
Sunarya Marwah
 
Struktur data 03 (stack)
Struktur data 03 (stack)Struktur data 03 (stack)
Struktur data 03 (stack)
Sunarya Marwah
 
Struktur data 02 (tipe data abstrak dan queue)
Struktur data 02 (tipe data abstrak dan queue)Struktur data 02 (tipe data abstrak dan queue)
Struktur data 02 (tipe data abstrak dan queue)
Sunarya Marwah
 
Struktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked listStruktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked list
Sunarya Marwah
 

Mehr von Sunarya Marwah (9)

Struktur data 09 (double ended heap)
Struktur data 09 (double ended heap)Struktur data 09 (double ended heap)
Struktur data 09 (double ended heap)
 
Struktur data 08 (heap)
Struktur data 08 (heap)Struktur data 08 (heap)
Struktur data 08 (heap)
 
Struktur data 07 (b tree)
Struktur data 07 (b tree)Struktur data 07 (b tree)
Struktur data 07 (b tree)
 
Struktur data 05 (bs avl tree)
Struktur data 05 (bs avl tree)Struktur data 05 (bs avl tree)
Struktur data 05 (bs avl tree)
 
Struktur data 04 (binary tree)
Struktur data 04 (binary tree)Struktur data 04 (binary tree)
Struktur data 04 (binary tree)
 
Struktur data 03 (stack)
Struktur data 03 (stack)Struktur data 03 (stack)
Struktur data 03 (stack)
 
Struktur data 02 (tipe data abstrak dan queue)
Struktur data 02 (tipe data abstrak dan queue)Struktur data 02 (tipe data abstrak dan queue)
Struktur data 02 (tipe data abstrak dan queue)
 
Struktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked listStruktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked list
 
Struktur dataquadtree
Struktur dataquadtreeStruktur dataquadtree
Struktur dataquadtree
 

Struktur data 06 (red black tree)

  • 1. Red Black Tree  Red Black Tree (RB-Tree)  Sebagai alternatif ‘balance tree’ bagi AVL-Tree, oleh karena itu RB-Tree memiliki sifat sebagai Binary Serach Tree.  RB-Tree, tidak sebaik AVL-Tree dalam hal ‘height- balance ’, tetapi RB-Tree mempunyai keunggulan dalam hal proses Insert dan Delete, dengan kata lain untuk mempercepat proses Insert dan Delete, RB-Tree mengorbankan kwalitas ‘height-balance ’. Copyright Sunarya D. Marwah
  • 2. Red Black Tree Karakteristik RB-Tree  Setiap node berwarna red atau black  Setiap node red harus mempunyai anak black  Setiap jalur dari root ke semua leaf harus memiliki jumlah node black yang sama.  Root berwarna black.  NULL dihitung sebagai black. Copyright Sunarya D. Marwah
  • 3. Red Black Tree  Insert Misalkan: n = node-baru p = parent dari n gp = parent dari parent u = uncle dari n - Data baru n berwarna red Copyright Sunarya D. Marwah
  • 4. Red Black Tree  Keadaan sederhana (1): - (1a) Bila n = root, n-color = black, selesai. - (1b) Bila p.color = black, n.color tidak berubah, selesai. Copyright Sunarya D. Marwah
  • 5. Red Black Tree  Keadaan tidak sederhana (2) - (2) If p.color == red: - If u.color == red: - Flip color: p.color = u.color = black. gp.color = red. Lanjutkan rebalancing pada gp (bila belum selesai) Copyright Sunarya D. Marwah
  • 6. Red Black Tree  Keadaan tidak sederhana (3) - (3a) If p.color == red: If u.color == black: - If n == p.left and p == gp.left: Single rotation: right(gp); Flip color: p.color = black. gp.color = red; Copyright Sunarya D. Marwah
  • 7. Red Black Tree  Keadaan tidak sederhana (3) - (3b) If p.color == red: - If u.color == black: - If n == p.right and p == gp.left: Double rot. : left(p); right(gp); Flip color: n.color = black. gp.color = red; Copyright Sunarya D. Marwah
  • 8. Red Black Tree  Keadaan tidak sederhana Aturan diatas berlaku untuk keadaan setangkup (mirror), yaitu: - (3a) n == p.right and p == gp.right. - (3b) n == p.left and p == gp.right. Copyright Sunarya D. Marwah
  • 9. Red Black Tree  Contoh insert: +65 +76 +71 +79 +82 +73 +84 +72 +77 +65 Kasus 1a. +76 Kasus 1b. Copyright Sunarya D. Marwah 76 65 65
  • 10. Red Black Tree +71 Kasus 3b Flip color Copyright Sunarya D. Marwah 76 65 71 71 65 76 71 65 76 71 65 76
  • 11. Red Black Tree +79 Kasus 2 Root harus black Copyright Sunarya D. Marwah 71 65 76 79 71 65 76 79 71 65 76 79
  • 12. Red Black Tree +82 Kasus 3a Copyright Sunarya D. Marwah 71 65 76 79 82 71 65 79 8276
  • 13. Red Black Tree +73 Kasus 2 Copyright Sunarya D. Marwah 71 65 79 8276 71 65 79 8276 73 73
  • 14. Red Black Tree +84 Kasus 1b Copyright Sunarya D. Marwah 71 65 79 8276 71 65 79 8276 73 73 84
  • 15. Red Black Tree +72 Kasus 3a Copyright Sunarya D. Marwah 71 65 79 8273 71 65 79 8276 73 72 8484 72 76
  • 16. Red Black Tree +77 Kasus 2 Rebalancing dilanjutkan pada gp Copyright Sunarya D. Marwah 71 65 79 8273 71 65 79 8273 72 71 848476 76 77 77
  • 17. Red Black Tree +77 Kasus 3b Rotasi kanan Copyright Sunarya D. Marwah 71 65 73 7972 71 65 79 8273 72 828476 76 77 77 84
  • 18. Red Black Tree Lanjutan +77 Rotasi kiri Copyright Sunarya D. Marwah 71 65 73 79 72 8276 77 84 71 65 73 7972 8276 77 84
  • 19. Red Black Tree  Hasil insert: +65 +76 +71 +79 +82 +73 +84 +72 +77 Copyright Sunarya D. Marwah 71 65 73 79 72 8276 77 84
  • 20. Red Black Tree  Delete Misalkan: v = node yang dihapus u = node pengganti p = parent dari u s = sibling dari u z = child dari s (z keponakan u) Copyright Sunarya D. Marwah
  • 21. Red Black Tree  Keadaan sederhana (1): - (1a) Bila u = leaf dan u.color = red, delete u, selesai. - (1b) Bila u != leaf dan u.color = red dan u.color = v.color, selesai.  Bila u.color == black, keadaan menjadi tidak sederhana Copyright Sunarya D. Marwah
  • 22. Red Black Tree  Double black Node Node v adalah node yang dihapus Node u adalah node pengganti v. Bila v.color = red, u.color = black. Bila v.color = black, u.color = double black. Copyright Sunarya D. Marwah
  • 23. Red Black Tree  Double black Node Penandaan double black merupakan suatu usaha secara sementara, memaksa bahwa seluruh jalur memiliki jumlah black node yang sama. Tetapi hal ini bukan merupakan penandaan yang sah dan permanen, sehingga pengaturan RB-tree (rotasi dan flip color) tetap harus dilakukan. Copyright Sunarya D. Marwah
  • 24. Red Black Tree  Keadaan tidak sederhana (2):  Bila node u (pengganti v) == black. - Bila s.color = black dan ada satu z.color = red. Lakukan perubahan sebagai berikut: (2a) Single-rotation pada p, kemudian flip-color z.color = black, s.color = red. (2b) Double-rotation pada s, kemudian pada p, kemudian z.color = black. Copyright Sunarya D. Marwah
  • 25. Red Black Tree  Keadaan tidak sederhana (3): - Bila s.color = black dan z.color = black. Lakukan perubahan seperti pada insert. Flip-color s.color dari black menjadi red, p.color dari red menjadi black, selesai. Bila p.color dari black menjadi double-black, perubahan berlanjut dengan p. Copyright Sunarya D. Marwah
  • 26. Red Black Tree  Keadaan tidak sederhana (4): - Bila s.color = red. Lakukan single-rotation pada p, flip-color s.color dari red menjadi black, p.color dari black menjadi red, maka kasus 4, dikonversi- kan menjadi kasus 2 atau kasus 3 untuk diselesaikan. Bila tidak, maka perubahan berlanjut hingga p. Copyright Sunarya D. Marwah
  • 27. Red Black Tree  Latihan  Insert: +65 +76 +71 +79 +82 +73 +84 +72 +77  Delete: -65 -76 -71 -79 -73 -72 Copyright Sunarya D. Marwah
  • 28. Red Black Tree  Hasil insert: +65 +76 +71 +79 +82 +73 +84 +72 +77 A L G O R I T H M Copyright Sunarya D. Marwah 71 65 73 79 72 8276 77 84
  • 29. Red Black Tree -65 Node pengganti (u) ? Copyright Sunarya D. Marwah 71 65 73 79 72 8276 77 84
  • 30. Red Black Tree -65 Kasus 3 Copyright Sunarya D. Marwah 71 73 79 72 8276 77 84 Double black
  • 31. Red Black Tree -65 Lanjutan Copyright Sunarya D. Marwah 71 73 79 72 8276 77 84
  • 32. Red Black Tree -65 Hasil akhir: Copyright Sunarya D. Marwah 71 73 79 72 8276 77 84
  • 33. Red Black Tree -76 Kasus 1 (sederhana) Copyright Sunarya D. Marwah 71 73 79 72 8276 77 84
  • 34. Red Black Tree -76 Hasil akhir: Copyright Sunarya D. Marwah 71 73 79 72 8277 84
  • 35. Red Black Tree -71 Kasus 1 (sederhana) Copyright Sunarya D. Marwah 71 73 79 72 8277 84
  • 36. Red Black Tree -71 Hasil akhir Copyright Sunarya D. Marwah 72 73 79 8277 84
  • 37. Red Black Tree -79 Copyright Sunarya D. Marwah 72 73 79 8277 84
  • 38. Red Black Tree -79 Kasus 2 Copyright Sunarya D. Marwah 72 73 77 82 84
  • 39. Red Black Tree -79 Hasil akhir: Copyright Sunarya D. Marwah 72 73 77 82 84
  • 40. Red Black Tree -82 Copyright Sunarya D. Marwah 72 73 77 82 84
  • 41. Red Black Tree -82 Kasus 3 Copyright Sunarya D. Marwah 72 73 77 84
  • 42. Red Black Tree -82 Hasil akhir: Copyright Sunarya D. Marwah 72 73 77 84
  • 43. Red Black Tree -73 Copyright Sunarya D. Marwah 72 73 77 84
  • 44. Red Black Tree -73 Kasus 2 Hasil akhir: Copyright Sunarya D. Marwah 72 77 84 77 8472 77 8472
  • 45. Red Black Tree -84 Kasus 3 Copyright Sunarya D. Marwah 77 72 84
  • 46. Red Black Tree -84 Kasus 3 Hasil akhir: Copyright Sunarya D. Marwah 77 72 77 72
  • 47. Red Black Tree -72 -77 NULL = Tree kosong ! Copyright Sunarya D. Marwah 77 72 77 77
  • 48. Red Black Tree  Latihan  Insert: +13 +85 +15 +70 +20 +60 +30 +50 +65 +80 +90 +40 +10 +55  Delete: -10 -60 -70 Copyright Sunarya D. Marwah
  • 49. Red Black Tree  Insert: +10 s/d +13 Copyright Sunarya D. Marwah
  • 50. Red Black Tree  Insert: +10 s/d +16 Copyright Sunarya D. Marwah
  • 51. Red Black Tree  Insert: +10 s/d +24 Copyright Sunarya D. Marwah
  • 52. Red Black Tree  Insert: +10 s/d +40 Copyright Sunarya D. Marwah
  • 53. Red Black Tree  Jawaban Latihan Insert: Copyright Sunarya D. Marwah
  • 54. Red Black Tree  Jawaban Latihan  Delete(10): Copyright Sunarya D. Marwah
  • 55. Red Black Tree  Jawaban Latihan  Delete(60): Copyright Sunarya D. Marwah
  • 56. Red Black Tree  Jawaban Latihan  Delete(60): (lanjutan) Copyright Sunarya D. Marwah
  • 57. Red Black Tree  Jawaban Latihan  Delete(60): (lanjutan) Copyright Sunarya D. Marwah
  • 58. Red Black Tree  Jawaban Latihan  Delete(70): Copyright Sunarya D. Marwah
  • 59. Red Black Tree  Jawaban Latihan  Delete(70): (lanjutan) Copyright Sunarya D. Marwah