AVL TREE
AVL
Tree ditemukan oleh Adelson-Velskii dan Landis. AVL Tree merupakan salah satu
jenis BST (binary Search Tree). BST digunakan dengan tujuan untuk mempercepat
pencarian data. Apabila BST yg terbentuk cukup seimbang (mendekati complete
binary tree) maka waktu pencarian data tidak lebih dari log2n langkah.
AVL
Tree adalah Binary Search Tree yang memiliki perbedaan tinggi/ level maksimal 1
antara subtree kiri dan subtree kanan. AVL Tree muncul untuk menyeimbangkan
Binary Search Tree. Dengan AVL Tree, waktu pencarian dan bentuk tree dapat
dipersingkat dan disederhanakan.
INSERTION
Untuk
menjaga tree tetap imbang, setelah penyisipan sebuah node, dilakukan
pemeriksaan dari node baru → root. Node pertama yang memiliki |balance factor|
> 1 diseimbangkan. Proses penyeimbangan dilakukan dengan single rotation dan
double rotation.
KASUS INSERTION PADA AVL TREE
*anggap
T adalah node yang harus diseimbangkan kembali
- Kasus 1 : node terdalam terletak pada subtree kiri dari anak kiri T (left-left)
- Kasus 2 : node terdalam terletak pada subtree kanan dari anak kanan T (right-right)
- Kasus 3 : node terdalam terletak pada subtree kanan dari anak kiri T (right-left)
- Kasus 4 : node terdalam terletak pada subtree kiri dari anak kanan T (left-right)
Ke-4
kasus tersebut dapat diselesaikan dengan melakukan rotasi
- Kasus 1 dan 2 dengan single rotation
- Kasus 3 dan 4 dengan double rotation
Contoh
– Single Rotation: Jika suatu Tree diinsert node baru dengan nilai 12, maka
akan terjadi ketidak seimbangan dan hal ini terletak pada posisi root
Contoh
– Double Rotation : Jika terdapat sebuah tree yang kemudian dilakukan insert
node 26. Maka akan terjadi ketidak seimbangan, sehingga terlihat dari bentuknya
dapat diselesaikan dengan kasus 4.
DELETE
Proses
menghapus sebuah node di AVL tree hampir sama dengan BST. Penghapusan sebuah
node dapat menyebabkan tree tidak imbang Setelah menghapus sebuah node, lakukan
pengecekan dari node yang dihapus → root. Gunakan single atau double rotation
untuk menyeimbangkan node yang tidak imbang. Pencarian node yang imbalance
diteruskan sampai root.
Sumber
:



Comments
Post a Comment