Summary of B-Tree and AVL Tree
Summary of B-Tree and AVL Tree
B-Tree dan AVL Tree merupakan konsep data struktur yang keduanya berasal dari konsep data struktur Binary Search Tree yang dimodifikasi agar lebih optimal dalam proses pencarian data-datanya.
1. B-Tree
Dalam Binary Search Tree, setiap node memiliki 1 data, dan maksimal 2 anak. Konsep data struktur B-Tree memungkinkan bagi satu node untuk memiliki lebih dari 1 data dan anak. Oleh karena itu, B-Tree memiliki ordo. Jumlah maksimum anak dalam satu node di B-Tree akan ditentukan dari ordo B-Tree tersebut, dan jumlah maksimum data dalam satu node ditentukan dari ordo-1.
B-Tree memiliki beberapa operasi, seperti : search, insert, dan delete. Contohnya adalah B-Tree dengan ordo 3 (biasa disebut 2-3 Tree) yang dapat memiliki maksimal 2 data dalam satu node, dan 3 anak. Contohnya adalah sebagai berikut :
(Insert : 5, 6, 7, 0, 4, 3, 8)
Apabila menggunakan Binary Search Tree:
Apabila menggunakan B-Tree:
Dapat dilihat bahwa 1 node memiliki data maksimal sebanyak 2 data, dan tree tersebut dapat memiliki anak maksimal sebanyak 3. Sekarang kita akan mencoba melakukan delete.
(Delete : 3, 4, 8)
B-Tree akan lebih optimal dibandingkan Binary Search Tree dalam proses searching. Hal tersebut dikarenakan level / height dari B-Tree akan lebih sedikit dibanding Binary Search Tree, dan data-datanya pun sudah di sort.
2. AVL Tree
AVL Tree bisa juga disebut self-balancing binary search tree. Dikarenakan dalam AVL Tree level subtree kiri dan subtree kanannya memiliki maksimal 1 perbedaan level. Apabila ditemukan perbedaan level antara subtree kiri dan kanan lebih dari 1 level, maka tree akan menyeimbangkan kembali setiap node nya agar perbedaan levelnya tidak lebih dari 1. Proses re-balancing ini ada di saat insert menggunakan single rotation maupun double rotation. Berikut adalah contoh penggunaan AVL Tree:
(Insert : 5, 6, 7, 0, 4, 3, 8)
Apabila menggunakan Binary Search Tree:
Apabila menggunakan AVL Tree:
(Delete : 3, 4, 8)
Ilustrasi gambar :
https://www.cs.usfca.edu/~galles/visualization/BTree.html
https://www.cs.usfca.edu/~galles/visualization/AVLtree.html
https://www.cs.usfca.edu/~galles/visualization/BTree.html
https://www.cs.usfca.edu/~galles/visualization/AVLtree.html
Comments
Post a Comment