Anda di halaman 1dari 13

Binary Search Tree (BST)

Binary Tree Sebagai Struktur File

Binary Search Tree

Struktur Binary Tree banyak digunakan untuk membantu memecahkan persoalan suatu algoritma, contohnya untuk memecahkan masalah organisasi file direct. Penggunaan Binary Tree sebagai suatu struktur file yang disebut Binary Search Tree (BST). Aturan Insert ke dalam File BST :
< Node Masuk Ke Kiri > Node Masuk Ke Kanan

Contoh Insert ke File Binary Search Tree


Key : 30, 62, 69, 41, 25, 39, 14, 93
30

25
14 41

62
69

39

93

Ketidakefisienan Binary Search Tree


Key : 14, 25, 30, 39, 41, 62, 69, 93
14 25

30

39

41

62

69

93

AVL TREE (Adelson, Velskii, Landis)


BST Yang Seimbang

Balance Factor
B
A C
---> level 1 D ---> level 2 F ---> level 3 E ---> level 4

Subtree : Tree yang terbentuk disebelah kanan atau kiri dari suatu node. (Catatan : Node tsb disebut root subtree) Tinggi subtree : Level node terbawah dari subtree dikurang level root subtree tsb Balance Factor : Tinggi subtree kanan dikurang tinggi dari subtree kiri dari suatu node

AVL Tree

Binary Search Tree yang memiliki aturan setiap node selalu memiliki balance factor 0, +1 atau -1 Maka : setiap kali key baru diinsert ke dalam file, setiap node dilihat balance factornya Apabila ada node yang balance factornya tidak 0, +1 atau -1 (tidak imbang) maka struktur file dilakukan transformasi : pemutaran dan atau penggeseran Kemungkinan tidak imbang hanya 2 dan diselesaikan dengan solusi : Rotasi Tunggal dan Rotasi Ganda

Kemungkinan Transformasi 1 (Rotasi Tunggal)


+1 +2

X Y
Rotasi kiri

Y X
0

A B
h h

+1 0

C B

h h+1

h+1

Node Baru

Kemungkinan Transformasi 1 (Rotasi Tunggal)


X
-2

0
Rotasi kanan

Y X

Y
-1

C B

B
h h+1 h+1 h

Node Baru

+1 +2

Kemungkinan Transformasi 2 (Rotasi Ganda)


0

-1 0

Y
+2

-1

+1 0

Z D

X
A
+2

Z Y
h h-1

h h-1

B
h-1 h

C
h h Node Baru h-1 h

A B

C
h

3 Geser kiri (X)

1 2

Geser kanan (Y)

Kemungkinan Transformasi 2 (Rotasi Ganda)


Z
-2

Y
+1

Y Z C
h

+1

D Z Y
-2

-2

A B

-1

D
B

h-1

h h

h-1

A
h

C
h h-1 h

Node Baru

3 Geser kanan (X)

1 2

Geser kiri (Y)

Transformasi Mana ?

Bila 2 node teratas tandanya sama maka gunakan Transformasi 1 (rotasi tunggal)
Bila 2 node teratas tandanya beda maka gunakan Transformasi 2 (rotasi ganda)

CONTOH SOAL AVL-TREE


Masukkan key berikut ke dalam AVL Tree :
51, 88, 92, 72, 41, 55, 35, 10

Anda mungkin juga menyukai