public static void TreeTraversal() { TreeOperations treeOperations = new TreeOperations(); var Data = new List <object> { 5, 3, 7, 2, 4, 6, 8, 1, 9 }; treeOperations.PopulateBinarySearchTree(Data); Console.WriteLine("========================================================================="); var preOrderPath = treeOperations.RecursivePreOrderTraversal(); DisplayPath(preOrderPath); preOrderPath = treeOperations.IterativePreOrderTraversal(); DisplayPath(preOrderPath); Console.WriteLine("========================================================================="); var inOrderPath = treeOperations.RecursiveInOrderTraversal(); DisplayPath(inOrderPath); inOrderPath = treeOperations.IterativeInOrderTraversal(); DisplayPath(inOrderPath); Console.WriteLine("========================================================================="); var postOrderPath = treeOperations.RecursivePostOrderTraversal(); DisplayPath(postOrderPath); postOrderPath = treeOperations.IterativePostOrderTraversal(); DisplayPath(postOrderPath); Console.WriteLine("========================================================================="); Console.WriteLine("The Max Level for Leaf Node of The Tree is " + treeOperations.FindMaxLevel() + ".\nHierarchical representation is shown below: "); treeOperations.PrintHierarchy(); Console.WriteLine("========================================================================="); }
public static void CreateMinimalBinarySearchTreeDemo() { Console.Write("Enter Length of Array: "); int arrayLength = int.Parse(Console.ReadLine()); int[] array = new int[arrayLength]; for (int i = 0; i < arrayLength; i++) { Console.Write(string.Format("Enter Data at {0} position in array: ", i)); array[i] = int.Parse(Console.ReadLine()); } TreeOperations treeOperations = new TreeOperations(); treeOperations.Current = treeOperations.CreateMinimalBinarySearchTree(array, 0, arrayLength - 1); HelperUtil.DisplayList(treeOperations.IterativePreOrderTraversal()); HelperUtil.DisplayList(treeOperations.IterativeInOrderTraversal()); HelperUtil.DisplayList(treeOperations.IterativePostOrderTraversal()); }