public void Traverse <T>(TreeTraversalType traversalType, TreeNode tree) { switch (traversalType) { case TreeTraversalType.InOrder: Console.Write("InOrder Traversal: "); InOrderTraversal <T>(tree); break; case TreeTraversalType.PreOrder: Console.Write("PreOrder Traversal: "); PreOrderTraversal <T>(tree); break; case TreeTraversalType.PostOrder: Console.Write("PostOrder Traversal: "); PostOrderTraversal <T>(tree); break; case TreeTraversalType.BreadthFirstOrder: Console.Write("LevelOrder Traversal: "); BreadthFirstOrderTraversal <T>(tree); break; default: Console.Write("Default InOrder Traversal: "); InOrderTraversal <T>(tree); break; } Console.WriteLine(); }
public void Traverse <T>(TreeTraversalType traversalType, T[] tree) { //TraverseWithoutRecursion(tree); switch (traversalType) { case TreeTraversalType.InOrder: InOrderTraversal(tree); break; case TreeTraversalType.PreOrder: PreOrderTraversal(tree); break; case TreeTraversalType.PostOrder: PostOrderTraversal(tree); break; case TreeTraversalType.BreadthFirstOrder: Console.Write("LevelOrder Traversal: "); BreadthFirstOrderTraversal(tree); break; default: InOrderTraversal(tree); break; } Console.WriteLine(); }
public string GetTraversePath(TreeTraversalType type) { string traversal = null; Traverse(type, out traversal); return(traversal); }
public IEnumerable <TreeNode <T> > GetEnumerable(TreeTraversalType TraversalType, TreeTraversalDirection TraversalDirection) { switch (TraversalType) { case TreeTraversalType.DepthFirst: return(GetDepthFirstEnumerable(TraversalDirection)); case TreeTraversalType.BreadthFirst: return(GetBreadthFirstEnumerable(TraversalDirection)); default: return(null); } }
public void Traverse(MCTSNodeStore store, VisitorFunc visitorFunc, TreeTraversalType traversalType) { if (traversalType == TreeTraversalType.Unspecified || traversalType == TreeTraversalType.Sequential) { DoTraverseSequential(store, visitorFunc); } else { DoTraverse(store, visitorFunc, traversalType); } }
public BSTEnumerator(BinarySearchTree <T> bst, TreeTraversalType type) { _tree = bst; if (_tree.Count > 0) { _arrIndex = 0; _array = new T[_tree.Count]; BuildIterableCollection(type); _version = _tree.Version; _tree.SubscribeToModificationNotification(OnTreeChangeHandler); } }
public void Traverse <T>(TreeIterationType iterationType, TreeTraversalType traversalType, TreeNode input) { ITraversal traversal = null; if (iterationType == TreeIterationType.Iterative) { traversal = new IterativeLinkedListTreeTraversal(); traversal.Traverse <T>(traversalType, input); } else { traversal = new RecursiveLinkedListTreeTraversal(); traversal.Traverse <T>(traversalType, input); } }
private void BuildIterableCollection(TreeTraversalType type) { switch (type) { case TreeTraversalType.PreOrder: Preorder(_tree.Root); break; case TreeTraversalType.InOrder: Inorder(_tree.Root); break; case TreeTraversalType.PostOrder: Postorder(_tree.Root); break; } }
public void Traverse(TreeTraversalType type, out string traversal) { traversal = type.ToString() + ":\n"; switch (type) { case TreeTraversalType.PreOrder: Preorder(StartNode, ref traversal); break; case TreeTraversalType.InOrder: Inorder(StartNode, ref traversal); break; case TreeTraversalType.PostOrder: Postorder(StartNode, ref traversal); break; case TreeTraversalType.Layerorder: Layerorder(StartNode, ref traversal); break; } }
public void Traverse <T>(TreeTraversalType traversalType, T[] tree) { }
public BinarySearchTree() { TraversalType = TreeTraversalType.InOrder; }
public void TraverseAndPrint(TreeTraversalType type) { string traversal = null; Traverse(type, out traversal); }
public IEnumerator <T> GetEnumerator(TreeTraversalType type) { BSTEnumerator <T> enumerator = new BSTEnumerator <T>(this, type); return(enumerator); }