An AVL tree is a type of self-balancing binary search tree where the heights of the two child subtrees of any node differ by at most one. The name AVL is derived from the initials of its inventors Georgy Adelson-Velsky and Evgenii Landis, who created the data structure in 1962.
Insertion in an AVL tree follows the same rules as in a regular binary search tree. However, it has the added step of rebalancing the tree, using rotations if necessary to maintain the AVL property. Here are some of the types of rotations that you might need to encounter for proper rebalancing:
If you would like to learn more, visit this page: Wikipedia.