AVL-BTREE

AVL Tree and B-Tree


AVL Tree

AVL Tree merupakan bagian dari Binary Tree Search (BST), di mana AVL Tree memiliki depth untuk subtree sebelah kiri dan kanan memiliki perbedaan depth yaitu lebih kurang sama dengan satu. 
Sehingga AVL Tree memiliki depth yang lebih stabil dibandingkan Binary Search Tree.

Untuk mempertahankan keseimbangannya AVL Tree memiliki method untuk menyeimbangkan tree, method ini disebut rotation.

Method rotation ini memiliki 4 macam, yaitu

1. Right Rotation

                   5                                                          2
                  /                                                         /     \
                2                ------------------>              1        5
               /                     Right Rotate
             1


2. Left Rotation

                    5                                                             8
                       \                                                         /    \
                         8           -------------------->            5       9
                            \            Left Rotate
                              9  

3. Left - Right Rotation

              5                                              5                                      4                             
            /                                               /                                       /   \
          2             ---------------->         4        --------------->        2      5
            \               Left Rotate          /           Right Rotate
              4                                      2

4. Right - Left Rotation

              7                                    7                                                8
                \                                     \                                             /   \
                  9    --------------->          8          -------------->         7      9
                /        Right Rotate             \          Left Rotate
              8                                            9


Contoh :

                     5                            5                               5                                6
                                                     \                                \                             /   \
--------->               --------->           6      --------->           6      --------->    5      7
Insert 5                  Insert 6                     Insert 7               \       Left 
                                                                                            7

                        6                               6                                       6
                      /    \                           /    \                                   /   \
--------->      5      7   --------->      5      7    -------------->      4     7    --------->
Insert 0      /               Insert 4     /                Left - Right      /   \          Insert 3
                0                               0                                        0      5 
                                                   \
                                                    4

            6                                            4                                      4
          /    \                                        /    \                                  /    \
        4       7                                   0       6                             0       6
       /  \            ---------------->         \     /  \      --------->         \      /  \        ---------->
     0    5            Left - Right             3  5   7     Insert 8           3   5    7       Delete 3
       \                                                                                                     \
         3                                                                                                    8

             4                                        6                                        6
           /    \                                    /    \                                    /   \
        0        6        --------->        4        7        ---------->         0     7      ----------->
                /    \         Left          /    \         \       Delete 4            \      \       Delete 8
              5       8                     0       5        8                               5     8


               6
             /    \
           0       7
             \
               5


B-Tree

B-Tree merupakan salah satu self-balancing search tree, di mana di dalam B-Tree untuk satu node dapat menampung lebih dari satu data, sehingga depth untuk B-Tree lebih kecil dibanding dengan tree yang lain. Untuk ukuran dari nodenya dapat kita tentukan, dan jumlah untuk sub node harus sesuai dengan jumlah data dari node ditambah satu.

https://media.geeksforgeeks.org/wp-content/cdn-uploads/BTreeIntro1.png

Contoh untuk max 3:

                     5                         5 6                            6                                 6
                                                                               /    \                            /     \
--------->               --------->              ---------->    5       7   --------->     0 5      7  ---------->
 Insert 5                 Insert 6                 Insert 7                     Insert 0                      Insert 4


            4 6                                4   6                              4    6                                   4   6
          /   |    \       -------->       /     |    \     --------->      /     |     \       ---------->        /    |    \
        0    5    7     Insert 3     0 3   5     7    Insert 8     0 3   5    7 8     Delete 8      0     5    7 8

                         6                                       6
--------->        /     \        ---------->          /      \
Delete 4      0 5    7 8     Delete 8         0 5      7




Reference:

Komentar

Postingan populer dari blog ini

Summary