AVL Tree
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
Di dalam AVL Tree ketika melakukan insertion terdapat 2 metode yaitu Single Rotation dan Double Rotation.
Single Rotation(Insertion)
Single Rotation dilakukan apabila searah, left-left atau right-right dan Single rotation di lakukan hanya sekali dalam sebuah tree sesuai dengan namanya.
Double Rotation(Insertion)
Double Rotation dilakukan apabila berbeda arah/tidak searah, left-right atau right-left dan Double rotation adalah rotasi yang dilakukan lebih dari sekali.
Deletion
Jika node yang akan dihapus berada pada posisi leaf atau node tanpa anak, maka dapat langsung di hapus. Jika node yang akan dihapus memiliki anak, maka proses penghapusannya harus di cek kembali untuk menyeimbangkan Binary Search Tree dengan perbedaan tinggi / level maksimal 1, penyeimbangan BST bisa dilakukan setelah pengecekan, kita bisa menentukan menggunakan SIngle Rotation atau Double Rotation.
Komentar
Posting Komentar