public static void TestAvlTree() { AvlTree <int, int> avl = new AvlTree <int, int>(); avl.Add(10, 10); avl.Add(9, 9); avl.Add(8, 8); avl.Add(7, 7); avl.Add(6, 6); avl.Add(5, 5); avl.Add(4, 4); avl.Add(3, 3); avl.Add(2, 2); avl.Add(1, 1); //avl.AddByRecursion(10, 10); //avl.AddByRecursion(9, 9); //avl.AddByRecursion(8, 8); //avl.AddByRecursion(7, 7); //avl.AddByRecursion(6, 6); //avl.AddByRecursion(5, 5); //avl.AddByRecursion(4, 4); //avl.AddByRecursion(3, 3); //avl.AddByRecursion(2, 2); //avl.AddByRecursion(1, 1); Console.WriteLine("avl size:" + avl.Size); Console.WriteLine("avl IsEmpty:" + avl.IsEmpty); Console.WriteLine("avl IsBalanceBinaryTree:" + avl.IsBalanceBinaryTree()); Console.WriteLine("avl IsBinarySearchTree:" + avl.IsBinarySearchTree()); Console.WriteLine("avl Contains 4:" + avl.Contains(4)); Console.WriteLine("avl ContainsByRecursion 4:" + avl.ContainsByRecursion(4)); avl.PreOrderTraversal(); Console.WriteLine(avl.PreOrder.ToList().Translate()); avl.PreOrderTraversalByRecursion(); Console.WriteLine(avl.PreOrder.ToList().Translate()); avl.SequentialTraversal(); Console.WriteLine(avl.SequentialOrder.ToList().Translate()); avl.SequentialTraversalByRecursion(); Console.WriteLine(avl.SequentialOrder.ToList().Translate()); avl.PostOrderTraversal(); Console.WriteLine(avl.PostOrder.ToList().Translate()); avl.PostOrderTraversalByRecursion(); Console.WriteLine(avl.PostOrder.ToList().Translate()); avl.LevelOrderTraversal(); Console.WriteLine(avl.LevelOrder.ToList().Translate()); avl.LevelOrderTraversalByRecursion(); Console.WriteLine(avl.LevelOrder.ToList().Translate()); //avl.Remove(4); //avl.Remove(6); //avl.Remove(7); //avl.Remove(9); //avl.RemoveByRecursion(4); //avl.RemoveByRecursion(6); //avl.RemoveByRecursion(7); //avl.RemoveByRecursion(9); avl.RemoveMax(); avl.RemoveMin(); avl.RemoveMaxByRecursion(); avl.RemoveMinByRecursion(); Console.WriteLine("avl size:" + avl.Size); Console.WriteLine("avl IsEmpty:" + avl.IsEmpty); Console.WriteLine("avl IsBalanceBinaryTree:" + avl.IsBalanceBinaryTree()); Console.WriteLine("avl IsBinarySearchTree:" + avl.IsBinarySearchTree()); Console.WriteLine("avl Contains 4:" + avl.Contains(4)); Console.WriteLine("avl ContainsByRecursion 4:" + avl.ContainsByRecursion(4)); }