Esempio n. 1
0
        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("=========================================================================");
        }
Esempio n. 2
0
        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());
        }