Jadi, apa itu AVL Tree? AVL Tree merupakan bentuk yang lebih advance atau terusan dari Binary Search Tree yang
memiliki batas toleransi tinggi maksimal 1 antara subtree kiri
dan subtree kanan dengan tujuan untuk menyeimbangkan serta mempermudah dalam pengoperasian Binary Search Tree.
Dengan AVL Tree, waktu pencarian suatu data
serta bentuk
tree dapat dipersingkat dan disederhanakan. Untuk menjaga sebuah tree tetap seimbang
meskipun telah disisipi nodes, maka perlu dilakukan pemeriksaan node baru
dengan root. Jika node pertama memiliki balance factor lebih dari satu, maka
perlu dilakukan penyetaraan. Ada dua jenis penyetaraan yang dapat dilakukan,
yaitu single serta double rotation.
Kapan
kita harus menggunakan single rotation? Pada dasarnya kita akan menggunakan
single rotation jika kondisi AVL Tree searah. Berikut contoh pengimplementasiannya
:
Pada beberapa soal di AVL tree umumnya
dapat diselesaikan hanya dengan
cara single rotation, seperti pada
contoh diatas. Tetapi ada beberapa soal
yang tidak bisa diselesaikan jika kita hanya menggunakan single rotation. Berarti kita harus menggunakan
teknik double rotation untuk menyelesaikan masalah imbalance pada tree
Berikut contoh pengimplementasiannya :
Sekian rangkuman saya mengenai dua operasi pada metode insert di AVL Tree, Terimakasih.
Tidak ada komentar:
Posting Komentar