Posts

Showing posts from May, 2020

AVL Tree

Image
AVL tree adalah sebuah Binary Search Tree yang bisa menyeimbangkan antara tinggibagian kiri dengan tinggi bagian kanan. Contoh sebuah AVL Tree Perbedaan tinggi subtree bagian kanan dan kiri adalah kurang dari sama dengan 1. Contoh yang bukan AVL Tree Perbedaan tinggi subtree 8 dan 18 lebih dari 1. AVL Tree sangat berguna karena BST biasa yang bukan AVL Tree, membutuhkan waktu yang cukup lama untuk beroperasi. Insertion Proses insertion AVL Tree dan BST cukup mirip, hanya saja setelah diinsert, AVL Tree langsung menyeimbangkan subtree kiri dan kanan. Contoh X adalah node yang akan diinsert, Case 1 : node terdalam terletak pada subtree kiri dari anak kiri X (left-left) Case 2 : node terdalam terletak pada subtree kanan dari anak kanan X (right-right) Case 3 : node terdalam terletak pada subtree kanan dari anak kiri X (right-left) Case 4 : node terdalam terletak pada subtree kiri dari anak kanan X (left-right Case tersebut akan selesai menggunakan single rotation unt