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 })); }
/// <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(); }
public AstPrinter(TreeTraverse <bool> t = null) : base(t) { realTraverse = traverse; traverse = TraversePrint; }
public NestingProcessor(TreeTraverse <bool> t = null) : base(t) { }
// Create with given traverser object public Processor(Traverser <T> trav) { realTraverse = traverse = trav.traverse; }