AVL tree
An AVL tree is a type of self-balancing binary search tree. In an AVL tree, the heights of the two child subtrees of any node differ by at most one. This balance ensures that the tree remains approximately balanced, which allows for efficient operations like insertion, deletion, and lookup, all of which can be performed in O(log n) time.
The name AVL comes from the initials of its inventors, Georgy Adelson-Velsky and Evgenii Landis, who introduced this data structure in 1962. By maintaining balance through rotations during insertions and deletions, AVL trees provide a reliable way to manage sorted data dynamically.