An AVL Tree is a type of self-balancing binary search tree where the difference in heights between the left and right subtrees of any node is at most one. This property ensures that the tree remains balanced, allowing for efficient operations such as insertion, deletion, and lookup, all of which can be performed in O(log n) time.
To maintain balance after insertions or deletions, AVL Trees use rotations, which are local tree restructuring operations. There are four types of rotations: single right, single left, double right-left, and double left-right. These rotations help restore the balance factor of the tree, ensuring optimal performance.