AVL Trees
by Eddie HuangA Cool Demo
Description
AVL Trees are self-balancing binary search trees that allow you to store and query data in logarithmic time.
They maintain a logarithmic height so that functions like find
and insert
take logarithmic time.
Whenever any node has an imbalance of 2 or greater, the tree performs rotations to rebalance.
The imbalance of a node in a binary tree is defined as the height difference between its two subtrees.
If an AVL tree has multiple imbalanced nodes, it will rebalance the nodes from the lowest level to the highest.
A left rotation
Right rotations and left rotations are mirrors of each other.
A right-left rotation
Left-right rotations and right-left rotations are mirrors of each other.