AVL TREE
AVL Tree adalah Binary Search Tree yang memiliki perbedaan tinggi antara subtree kiri dan subtree kanan. AVL Tree digunakan untuk menyeimbangkan Binary Search Tree, sehingga waktu pencarian dan bentuk tree dapat dipersingkat dan disederhanakan. Ada 4 kasus yang biasanya terjadi saat operasi insert dilakukan, yaitu : 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) Proses penyeimbangan dalam AVL TREE 1. Single Rotation Dilakukan bila kondisi AVL tree ditambahkan node baru. Dimana T1, T2, dan T3 adalah subtree yang urutannya harus seperti demikian sama dengan height-nya (≥ 0). Hal ini juga berlaku untuk AVL tree ya