/// <summary> /// tests BinaryTree methods /// </summary> public static void TestBinTree() { Console.WriteLine("Test Binary Tree"); BinaryTree tree = new BinaryTree(); Console.WriteLine("Build tree..."); tree = BuildBinTree(tree); Console.Write("Check 'PreOrder': "); PrintTreeValues(tree.PreOrder()); Console.Write("Check 'InOrder': "); PrintTreeValues(tree.InOrder()); Console.Write("Check 'PostOrder': "); PrintTreeValues(tree.PostOrder()); }
static void Main(string[] args) { List <string> treeList = new List <string>(); List <int> bstList = new List <int>(); char forwardSlash = '/'; char BackSlash = '\\'; PopulateBinaryTree(); PopulateBinarySearchTree(); Console.WriteLine("Tree Used in Demo:\n"); Console.WriteLine(" 25"); Console.WriteLine(" {0} {1}", forwardSlash, BackSlash); Console.WriteLine(" {0} {1}", forwardSlash, BackSlash); Console.WriteLine(" {0} {1}", forwardSlash, BackSlash); Console.WriteLine(" {0} {1}", forwardSlash, BackSlash); Console.WriteLine(" {0} {1}", forwardSlash, BackSlash); Console.WriteLine(" {0} {1}", forwardSlash, BackSlash); Console.WriteLine(" 15 50"); Console.WriteLine(" {0} {1} {2} {3}", forwardSlash, BackSlash, forwardSlash, BackSlash); Console.WriteLine(" {0} {1} {2} {3}", forwardSlash, BackSlash, forwardSlash, BackSlash); Console.WriteLine(" 10 22 35 70"); Console.WriteLine(" {0}{1} {2}{3} {4}{5} {6}{7}", forwardSlash, BackSlash, forwardSlash, BackSlash, forwardSlash, BackSlash, forwardSlash, BackSlash); Console.WriteLine(" 4 12 18 24 31 44 66 90\n\n"); // This Section is for Pre-Order Traverse treeList = myTree.PreOrder(myTree.Root, treeList); Console.Write("Pre-Order Binary Tree: "); foreach (string value in treeList) { Console.Write("{0} ", value); } Console.WriteLine(); bstList = myBST.PreOrder(myBST.Root, bstList); Console.Write("Pre-Order Binary Search Tree: "); foreach (int value in bstList) { Console.Write("{0} ", value); } // This Section is for In-Order Traverse Console.WriteLine("\n"); treeList = new List <string>(); treeList = myTree.InOrder(myTree.Root, treeList); Console.Write("In-Order Tree: "); foreach (string value in treeList) { Console.Write("{0} ", value); } Console.WriteLine(); bstList = myBST.InOrder(myBST.Root, new List <int>()); Console.Write("In-Order Binary Search Tree: "); foreach (int value in bstList) { Console.Write("{0} ", value); } // This section is for Post-Order Traverse Console.WriteLine("\n"); treeList = new List <string>(); treeList = myTree.PostOrder(myTree.Root, treeList); Console.Write("Post-Order Tree: "); foreach (string value in treeList) { Console.Write("{0} ", value); } Console.WriteLine(); bstList = myBST.PostOrder(myBST.Root, new List <int>()); Console.Write("Post-Order Binary Search Tree: "); foreach (int value in bstList) { Console.Write("{0} ", value); } // This section is for Breadth First Traverse Console.WriteLine("\n"); treeList = new List <string>(); treeList = myTree.BreadthFirst(); Console.Write("Breadth-First Tree: "); foreach (string value in treeList) { Console.Write("{0} ", value); } Console.WriteLine(); bstList = myBST.BreadthFirst(); Console.Write("Breadth First Binary Search Tree: "); foreach (int value in bstList) { Console.Write("{0} ", value); } // This section Tests the BST Contains Method Console.WriteLine("\n"); Console.WriteLine("BST contains 50: {0}", myBST.Contains(50)); Console.WriteLine("BST contains 90: {0}", myBST.Contains(90)); Console.WriteLine("BST contains 10: {0}", myBST.Contains(10)); Console.WriteLine("BST contains 99: {0}", myBST.Contains(99)); Console.WriteLine("BST contains 13: {0}", myBST.Contains(13)); Console.WriteLine("BST contains 45: {0}", myBST.Contains(45)); // This section Tests the BT Max Value Method Console.WriteLine("\n"); Console.WriteLine("Max Value BT: {0}", myTree.FindMaximumValue()); Console.WriteLine("Max Value BST: {0}", myBST.FindMaximumValue()); Console.WriteLine("\n\n"); }