An AVL tree (named after Adelson-Velsky and Landis) is a self-balancing BST that maintains a balance invariant: for every node, the height difference between its left and right subtrees is at most 1.
If you want to work locally using your own IDE, you can clone this repo and push changes. Pushed changes will also be reflected in Lovable.