AVL Trees
Keeping a Binary Tree balanced is crucial to sustain its performance, and AVLs trees ensure that by enforcing one simple rule to these trees:
Any nodes children can have a height difference of 1 at maximum
In order to sustain this property upon insertion and deletion, there are special methods.