Binary Search Trees are an efficient method to store objects, and like a Binary Search, is an efficient method to search for those objects. It remains efficient until the tree becomes unbalanced. So, AVL Trees are an enhancement to BST. Each node has a Balance indicator and a pointer to the parent node. Each time an element is added or removed, the AVL Tree must determine if it is still balanced. If not, logic is provided to rebalance the tree.
Your assignment is to use the provided code at the end of section 11.5 to create and test a working AVL Tree program. There are four classes: Node, AVLTree, AVLTreeDemo, and BSTPrint. Section zyDE 11.5.1 is a code editor and run. The four classes can be accessed by clicking on the small orange downward-pointing triangle to the right of the Current File name.