public static void LevelOrderTest() { var root = SortedArrayToBinarySearchTree.SortedArrayToBST(new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }); //LevelOrderTraversal.LevelOrderTraversalIterative1(root); Console.WriteLine(); //LevelOrderTraversal.LevelOrderTraversalIterative3(root); LevelOrderTraversal.LevelOrderBottom(root); }
public static void SameTreeTest() { var root1 = TreeUtils.CreateRandomTree(); var root2 = TreeUtils.CreateRandomTree(); Assert.AreEqual(true, BinaryTreeSame.IsSameTreeIterative(root1, root2)); Assert.AreEqual(true, BinaryTreeSame.IsSameTreeRecursive(root1, root2)); var root3 = SortedArrayToBinarySearchTree.SortedArrayToBST(new[] { 1, 2, 3 }); var root4 = SortedArrayToBinarySearchTree.SortedArrayToBST(new[] { 1, 3, 2 }); Assert.AreEqual(false, BinaryTreeSame.IsSameTreeIterative(root3, root4)); Assert.AreEqual(false, BinaryTreeSame.IsSameTreeRecursive(root3, root4)); }
public static TreeNode CreateRandomTree() { var r = new Random(); var size = r.Next(0, 32); var arr = new int[size]; for (var pos = 0; pos < size; pos++) { arr[pos] = r.Next(1, 100); } var root = SortedArrayToBinarySearchTree.SortedArrayToBST(arr); return(root); }
public static TreeNode CreateRandomPerfectTree() { var r = new Random(); var size = (int)Math.Pow(2, r.Next(0, 7)) - 1; Console.WriteLine("Size: " + size); var arr = new int[size]; for (var pos = 0; pos < size; pos++) { arr[pos] = r.Next(1, 100); } var root = SortedArrayToBinarySearchTree.SortedArrayToBST(arr); return(root); }