An AVL Tree is a type of binary search tree which tries to balance itself after every insertion and deletion of a node. By balanced tree we mean that for any given node, the difference between height of left and right subtrees is not more than 1. Rebalancing of nodes in an AVL tree is performed after every insertion or deletion of node to make the tree balanced.

TODO: Need to add more information along with resources.