Example #1
0
        public void TestTreeTraverse()
        {
            /*
             *
             * 1
             * / \
             * 2  3
             * / \  \
             * 4  5  6
             *
             */
            BinaryTreeNode root = new BinaryTreeNode(1);
            BinaryTreeNode n2   = new BinaryTreeNode(2);
            BinaryTreeNode n3   = new BinaryTreeNode(3);
            BinaryTreeNode n4   = new BinaryTreeNode(4);
            BinaryTreeNode n5   = new BinaryTreeNode(5);
            BinaryTreeNode n6   = new BinaryTreeNode(6);

            n2.LeftNode    = n4;
            n2.RightNode   = n5;
            n3.RightNode   = n6;
            root.LeftNode  = n2;
            root.RightNode = n3;

            string inOrder   = TreeTraverse.InOrder(root);
            string postOrder = TreeTraverse.PostOrder(root);
            string preOrder  = TreeTraverse.PreOrder(root);

            Assert.IsTrue(inOrder == "425136");
            Assert.IsTrue(postOrder == "452631");
            Assert.IsTrue(preOrder == "124536");
        }
        public IHttpActionResult ParallelTraverse()
        {
            int counter = 0;

            TreeTraverse.ParallelTraverse <double>(redblackTree.Root, (node) =>
            {
                counter++;
                System.Diagnostics.Debug.WriteLine(node.ToString());
            });
            return(Json(new { Counter = counter }));
        }
Example #3
0
 /// <summary>
 /// Create with given traverser function, or with default (MapTraverser)
 /// </summary>
 public Processor(TreeTraverse <T> t = null)
 {
     if (t == null)
     {
         traverse = new MapTraverser <T>(this).traverse;
     }
     else
     {
         traverse = t;
     }
     realTraverse = traverse;
 }
        static void TraverseTree(Node root)
        {
            Console.WriteLine("Pre Order");
            ITraverse traverse = new TreeTraverse();

            traverse.PreOrder(root);
            Console.WriteLine("");

            Console.WriteLine("Post Order");
            traverse.PostOrder(root);
            Console.WriteLine("");

            Console.WriteLine("In Order");
            traverse.InOrder(root);
            Console.WriteLine("");
        }
        static void Main(string[] args)
        {
            TreeData tree = new TreeData();
            Node     root = tree.CreateSimpleTree();

            TraverseTree(root);

            Node rootdata = tree.CreateTreePrefixInfix("abfcdegh", "fbadcgeh");

            TraverseTree(rootdata);

            Node rootDataPost = tree.CreateTreePostfixInfix("fbdgheca", "fbadcgeh");

            TraverseTree(rootDataPost);


            Console.WriteLine("Expression");
            ITraverse traverse = new TreeTraverse();

            traverse.PrintExpression(root);
            Console.WriteLine("");

            Console.ReadLine();
        }
Example #6
0
 public AstPrinter(TreeTraverse <bool> t = null) : base(t)
 {
     realTraverse = traverse;
     traverse     = TraversePrint;
 }
Example #7
0
 public NestingProcessor(TreeTraverse <bool> t = null) : base(t)
 {
 }
Example #8
0
 // Create with given traverser object
 public Processor(Traverser <T> trav)
 {
     realTraverse = traverse = trav.traverse;
 }