• Tidak ada hasil yang ditemukan

Men-delete X dari BST:

N/A
N/A
Protected

Academic year: 2023

Membagikan "Men-delete X dari BST:"

Copied!
9
0
0

Teks penuh

(1)

Rules for BST Deletion Rules for BST Deletion

Men-delete X dari BST:

1.

Jika X adalah leaf, tinggal delete

2.

Jika X punya satu anak, ganti dengan anak tsb.

3.

Jika X punya dua anak, ganti

nilainya dgn predecessor secara in- order.

Red- Red -Black Tree Deletion Black Tree Deletion

Men-delete X dari RB Trees:

1.

Jika X adalah merah?

No problem

2.

Jika X adalah hitam?

Jika X bukan root, akan mengubah jumlah node hitam salah satu path ke leaf.

Tujuan

Tujuan Top- Top -Down Deletion Down Deletion

Men-delete X dari RB Trees:

z

Usahakan X adalah leaf merah

z

Sambil mencari lokasi X, semua node yang ditemui diganti merah.

z

Jika terjadi rule-violation, perbaiki dengan rotasi.

Red-BlackTrees

Terminology Terminology

z

X adalah node yang sdg ditinjau

z

T adalah X’s sibling

z

P adalah parent dari X dan T

z

R adalah anak kanan dari T

z

L adalah anak kiri dari T

Asumsi: selalu ada pola simetrinya!

Red-BlackTrees

X T

P

L R

(2)

Basic Strategy Basic Strategy

z

Sambil turun ke lokasi item yang hendak di-delete, kita ubah setiap node X menjadi merah.

z

Setiap mengubah X ke merah, kita tahu:

P juga merah (baru saja dikunjungi)

T adl hitam (karena P merah)

Red-BlackTrees

Step 1

Step 1 Periksa root! Periksa root!

1.

Jika kedua anak root hitam:

a. Ubah root ke merah.

b. Lanjutkan X ke arah lokasi c. Lanjutkan ke Step 2

2.

Jika salah satu anak root merah, lanjutkan ke Step 2B.

Red-BlackTrees

Step 2

Step 2 – Kasus Kasus Utama Utama

Sambil turun ke lokasi, kita temui situasi ini sampai mencapai item yang hendak di-delete.

Ubah X menjadi merah, dan lakukan penyesuaian thd node lain, rotasi jika perlu berdasar warna X dan anak-anak T.

Red-BlackTrees

T X

P

Case 2A: X

Case 2A: X punya punya 2 2 anak hitam anak hitam

2A1. T punya dua anak hitam 2A2. T punya anak dalam merah 2A3. T punya anak luar merah

Red-BlackTrees

P

T

X

(3)

Case 2A1: Color Flip Case 2A1: Color Flip

P T X

P T X

a b

Case 2A2: Double Rotation Case 2A2: Double Rotation

P

T

L R

X

L

T

b R

P

X a

Case 2A3: Single Rotation Case 2A3: Single Rotation

P

T

L R

X

T R P

X L

Case 2B

Case 2B – X X punya 1 punya 1 anak merah anak merah

Lanjutkan turun ke anak X:

2B1. Jika X’ merah, lanjutkan turun ke anak X’.

2B2. Jika X hitam (T merah dan P hitam).

z

Lakukan Rotasi T terhadap P

z

Recolor P dan T

z

Kembali ke Step 2

Red-BlackTrees

(4)

Case 2B

Case 2B

X

P T

Lanjutkan turun ke anak X!

P

T X

Lanjutkan turun ke anak X lagi!

Case 2B1 P

X T

Case 2B2

X T

P Kembali ke Step 2

Step 3 Step 3

Akhirnya ditemukan node yang di- delete – sebuah leaf atau parent dari sebuah leaf.

Tinggal delete!

Ubah kembali root menjadi hitam.

Red-BlackTrees

Top- Top -Down Deletion Scenario Down Deletion Scenario

Red-BlackTrees

Step 1 Root merah

Ada anak merah

Step 2 Satu anaknya merah Step 2B X →merah

Step 2A1

Step 2A2

Step 2A3 Dua anak hitam Anak luar merah

Anak dalam merah

Flip color

Double rotation

Single rotation

Step 2B1 Step 2B2 Turun ke anak X’ merah X’ hitam

Turun ke anak

Rotasi T thd P Recolor T&P

Contoh

Contoh 1: Delete 10 1: Delete 10

15

6 17

3 12 16 20

18 23

10 13

X

(5)

Contoh

Contoh 1: Delete 10 ( 1: Delete 10 (lanjutan lanjutan) )

15

6 17

3 12 16 20

18 23

10 13

7 Turun ke anak Root, X pindah ke 6

X

Contoh

Contoh 1: Delete 10 ( 1: Delete 10 (lanjutan lanjutan) )

15

6 17

3 12 16 20

18 23

10 13

7

X

Salah satu anak X merah (case 2B). Turun ke anak, X pindah ke 12. Karena X baru (12) juga merah (2B1), turun lagi ke 10.

X

Contoh

Contoh 1: Delete 10 ( 1: Delete 10 (lanjutan lanjutan) )

15

6 17

3 12 16 20

18 23

10 13

7 Step 3: karena 10 adalah node yang akan di-delete, nilainya diperbaharui dengan nilai anaknya (7) dan selanjutnya delete 7.

X

Contoh

Contoh 1: Delete 10 ( 1: Delete 10 (lanjutan lanjutan) )

15

6 17

3 12 16 20

18 23

7 13

Kondisi akhir setelah root dijadikan hitam (Step 4) lagi .

(6)

Contoh

Contoh 2: Delete 9 2: Delete 9

15

6 17

3 12 16 20

2 4 9 13

Root dijadikan merah.

Step 1 – root punya 1 anak merah X = root, lanjutkan ke step 2

X

Contoh

Contoh 2: Delete 9 ( 2: Delete 9 (lanjutan lanjutan) )

15

6 17

3 12 16 20

2 4 9 13

X punya 1 anak merah (case 2B). Lanjutkan turun ke anak, yaitu 6. Karena 6 juga merah (case 2B1), lanjutkan lagi turun ke 12.

X

Contoh

Contoh 2: Delete 9 ( 2: Delete 9 (lanjutan lanjutan) )

15

6 17

3 12 16 20

2 4 9 13

T X

P

Contoh

Contoh 2: Delete 9 ( 2: Delete 9 (lanjutan lanjutan) )

15

6 17

3 12 16 20

2 4 9 13

X T

P

(7)

Contoh

Contoh 2: Delete 9 ( 2: Delete 9 (lanjutan lanjutan) )

15

6 17

3 12 16 20

2 4 9 13

Step 3 – Delete 9 sebagai leaf merah.

Step 4 – Recolor root ke hitam.

X T P

Contoh

Contoh 2: Delete 9 ( 2: Delete 9 (lanjutan lanjutan) )

15

6 17

3 12 16 20

2 4 13

Kondisi akhir setelah root menjadi hitam kembali.

Contoh

Contoh 3: Delete 11 3: Delete 11

15

10 17

5 12

2

7 11 13

Set X ke anak dari root (10) Step 1 – root punya 2 anak hitam.

Jadikan root merah.

6 9 3

Valid and unaffected right subtree

4

X

Contoh

Contoh 3: Delete 11 ( 3: Delete 11 (lanjutan lanjutan) )

15

10 17

5 12

2

7 11 13

Turun ke node anak, X = 12 X punya satu anak merah (case 2B) 6 9

3

Valid and unaffected right subtree

4 X

(8)

Contoh

Contoh 3: Delete 11 ( 3: Delete 11 (lanjutan lanjutan) )

15

10 17

5 12

2

7 11 13

Karena X adalah hitam (case 2B2), dan T merah P hitam, rotasi T thd P.

Recolor T and P dan kembali ke step 2 6 9

3

Valid and unaffected right subtree

4 P

T X

Contoh

Contoh 3: Delete 11 ( 3: Delete 11 (lanjutan lanjutan) )

15 5 17

7

Sekarang X sudah hitam dengan parent merah dan sibling hitam. X dan T punya 2 anak merah (case 2A1).

Recolor X, P dan T.

6 9

3 Valid

and unaffected right subtree

4

P

T 10

12

11 13

2 X

Contoh

Contoh 3: Delete 11 ( 3: Delete 11 (lanjutan lanjutan) )

15 5 17

7

3 Valid

and unaffected right subtree

4

P

T 10

X 12 2

Contoh

Contoh 3: Delete 11 ( 3: Delete 11 (lanjutan lanjutan) )

15 5 17

7

3 Valid

and unaffected right subtree

4

10

2 12P

(9)

Contoh

Contoh 3: Delete 11 ( 3: Delete 11 (lanjutan lanjutan) )

15 5 17

7

Sekarang node yang hendak di-delete merah.

Step 3 – delete 11 sebagai node merah.

6 9

3 Valid

and unaffected right subtree

4

10

12

11 X 13

2 P

T

Contoh

Contoh 3: Delete 11 ( 3: Delete 11 (lanjutan lanjutan) )

15 5 17

7

Step 4 – kembalikan root ke hitam.

6 9

3 Valid

and unaffected right subtree

4

10

12

13 2

Referensi

Dokumen terkait

The students‟ needs in using ICT to learn English in 21 st Century The phenomenon of obstacles faced by MAN 4 Cirebon students in using ICT in the English learning

An Analysis of Translation Error that occurs among English Foreign Language Student (Case study at Class TBI-E 2016 as students of English Education Department of UIN