AVL Trees are binary search trees with a balance condition. The balance condition ensures that the height of the tree is bounded.
The two conditions satisfied by an AVL tree are:
order property: the value stored at every node, is larger than any value stored in the left subtree, and is smaller than any value stored in the right subtree.
balance property: at every node the difference in the height of the right and the left subtrees is at most 1.