SlideShare une entreprise Scribd logo
1  sur  59
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

soal latihan prinsip inklusi eksklusi (1).ppt
soal latihan prinsip inklusi eksklusi (1).pptsoal latihan prinsip inklusi eksklusi (1).ppt
soal latihan prinsip inklusi eksklusi (1).pptAmirahChiCwexNezz
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorialSiti Khotijah
 
Aljabar linear:Kebebasan Linear, Basis, dan Dimensi.ppt
Aljabar linear:Kebebasan Linear, Basis, dan Dimensi.pptAljabar linear:Kebebasan Linear, Basis, dan Dimensi.ppt
Aljabar linear:Kebebasan Linear, Basis, dan Dimensi.pptrahmawarni
 
Rangkuman Geometri Transformasi
Rangkuman Geometri TransformasiRangkuman Geometri Transformasi
Rangkuman Geometri TransformasiIndah Wijayanti
 
Basis Data, Ch 4 - Relasonal Aljabar & Calculus
Basis Data, Ch 4 - Relasonal Aljabar & CalculusBasis Data, Ch 4 - Relasonal Aljabar & Calculus
Basis Data, Ch 4 - Relasonal Aljabar & CalculusRatzman III
 
Metode numerik persamaan non linier
Metode numerik persamaan non linierMetode numerik persamaan non linier
Metode numerik persamaan non linierIzhan Nassuha
 
Bab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi booleanBab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi booleanCliquerz Javaneze
 
Matematika Diskrit - 06 relasi dan fungsi - 03
Matematika Diskrit - 06 relasi dan fungsi - 03Matematika Diskrit - 06 relasi dan fungsi - 03
Matematika Diskrit - 06 relasi dan fungsi - 03KuliahKita
 
Big O - Analisa Algoritma
Big O - Analisa AlgoritmaBig O - Analisa Algoritma
Big O - Analisa AlgoritmaFajar Baskoro
 
Relasi Rekursi : Definisi, Contoh, Jenis Relasi Rekursi
Relasi Rekursi : Definisi, Contoh, Jenis Relasi RekursiRelasi Rekursi : Definisi, Contoh, Jenis Relasi Rekursi
Relasi Rekursi : Definisi, Contoh, Jenis Relasi RekursiOnggo Wiryawan
 
Koefisien binomial
Koefisien binomialKoefisien binomial
Koefisien binomialoilandgas24
 
6. Stack (Struktur Data)
6. Stack (Struktur Data)6. Stack (Struktur Data)
6. Stack (Struktur Data)Kelinci Coklat
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomataBanta Cut
 

Tendances (20)

soal latihan prinsip inklusi eksklusi (1).ppt
soal latihan prinsip inklusi eksklusi (1).pptsoal latihan prinsip inklusi eksklusi (1).ppt
soal latihan prinsip inklusi eksklusi (1).ppt
 
Modul 7 basis dan dimensi
Modul 7 basis dan dimensiModul 7 basis dan dimensi
Modul 7 basis dan dimensi
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorial
 
pewarnaan graf
pewarnaan grafpewarnaan graf
pewarnaan graf
 
SLIDE KE:5 NFA
SLIDE KE:5 NFASLIDE KE:5 NFA
SLIDE KE:5 NFA
 
Insertion sort
Insertion sortInsertion sort
Insertion sort
 
Aljabar linear:Kebebasan Linear, Basis, dan Dimensi.ppt
Aljabar linear:Kebebasan Linear, Basis, dan Dimensi.pptAljabar linear:Kebebasan Linear, Basis, dan Dimensi.ppt
Aljabar linear:Kebebasan Linear, Basis, dan Dimensi.ppt
 
Rangkuman Geometri Transformasi
Rangkuman Geometri TransformasiRangkuman Geometri Transformasi
Rangkuman Geometri Transformasi
 
Basis Data, Ch 4 - Relasonal Aljabar & Calculus
Basis Data, Ch 4 - Relasonal Aljabar & CalculusBasis Data, Ch 4 - Relasonal Aljabar & Calculus
Basis Data, Ch 4 - Relasonal Aljabar & Calculus
 
Metode numerik persamaan non linier
Metode numerik persamaan non linierMetode numerik persamaan non linier
Metode numerik persamaan non linier
 
Bab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi booleanBab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi boolean
 
Bab 9 graf
Bab 9 grafBab 9 graf
Bab 9 graf
 
Sistem File
Sistem FileSistem File
Sistem File
 
contoh soal program linear
contoh soal program linearcontoh soal program linear
contoh soal program linear
 
Matematika Diskrit - 06 relasi dan fungsi - 03
Matematika Diskrit - 06 relasi dan fungsi - 03Matematika Diskrit - 06 relasi dan fungsi - 03
Matematika Diskrit - 06 relasi dan fungsi - 03
 
Big O - Analisa Algoritma
Big O - Analisa AlgoritmaBig O - Analisa Algoritma
Big O - Analisa Algoritma
 
Relasi Rekursi : Definisi, Contoh, Jenis Relasi Rekursi
Relasi Rekursi : Definisi, Contoh, Jenis Relasi RekursiRelasi Rekursi : Definisi, Contoh, Jenis Relasi Rekursi
Relasi Rekursi : Definisi, Contoh, Jenis Relasi Rekursi
 
Koefisien binomial
Koefisien binomialKoefisien binomial
Koefisien binomial
 
6. Stack (Struktur Data)
6. Stack (Struktur Data)6. Stack (Struktur Data)
6. Stack (Struktur Data)
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
 

En vedette (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
 

Plus de 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 listSunarya Marwah
 

Plus de 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