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 62

14 41 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 ---> level 1
A D ---> level 2
C 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)
X Y
+1
+2 0
Y X
Rotasi
A +1
0 kiri 0
C
B C A B
h

h h h+1
h+1 h h

Node
Baru
Kemungkinan Transformasi 1
(Rotasi Tunggal)
X Y
0
-2
Rotasi X
Y
kanan 0
-1 A C
B A
C B
h
h+1
h h h
h+1

Node
Baru
Kemungkinan Transformasi 2
Z

X
(Rotasi Ganda) 0
+1
+2
X Y
Y
-1 0
-1
0

Z X
A +2
+1
0 A B C D
Z
D +2
B C h-1
h Y h h
A 0
h-1 h
h-1
h
h B C D

Node h-1 h
Baru 3
h

1 Geser kiri (X)

Geser kanan (Y)


Kemungkinan Transformasi 2
Z
(Rotasi Ganda)
X
0
-2
Y Y X
0 +1
+1
D X
-2 A B C D
Z
A -1 Z
-2
B C
Y D h-1
h h
0 h
h h-1 B C
h A
h

h h-1
Node
Baru h
3

1 Geser kanan (X)

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