Problem
1. Explain how the virtual methods of a class differ from other class methods.
2. Draw a picture explaining how balance is restored when an insertion into an AVL tree puts a node out of balance.
3. How does the worst-case performance of an AVL tree compare with the worstcase performance of a random binary search tree? How does it compare with its average-case performance? How does the average-case performance of an AVL tree compare with that of a random binary search tree?