AVLTree implementation (CSC 3102)