31得票3回答
不使用递归遍历 n 叉树

如何在不使用递归的情况下遍历一个 n 叉树? 递归方法:traverse(Node node) { if(node == null) return; for(Node child : node.getChilds()) { traverse(...

14得票7回答
在C#中进行并行树遍历

我需要快速遍历一棵树,而且我想要并行地进行。我宁愿使用并行扩展而不是手动启动一堆线程。 我的当前代码大致如下: public void Traverse(Node root) { var nodeQueue = new Queue<Node>(); nodeQu...

8得票1回答
ast模块使用哪种类型的树遍历?

ast.NodeVisitor()使用什么类型的树遍历?当我创建一个堆栈并将每个遍历的节点压入堆栈时,结果似乎是一种“广度优先”树遍历。这意味着顺序取决于树中的层级。 例如:树看起来像 Module Assign Name Store Call ...

10得票9回答
在每个节点进行前序和后序遍历的迭代深度优先树遍历

有人可以给我提供迭代深度优先树遍历的伪代码吗?并且可以在每个节点进行前序和后序操作吗? 也就是说,在下降到节点的子节点之前执行某个操作,然后在从子节点上升后执行另一个操作? 此外,我的树不是二叉树 - 每个节点都有0..n个子节点。 基本上,我的情况是将递归遍历转换为迭代遍历,在递归进入子节点...

29得票5回答
我们可以使用Morris遍历来进行后序遍历吗?

我访问了很多网站,但找不到Morris后序遍历的任何算法。 我知道我们可以使用Morris算法进行前序和中序遍历。 如果有人指出后序Morris算法,那将非常有帮助。

10得票3回答
创建新进程有助于遍历大树吗?

让我们将它想象成一个家族谱,一个父亲有孩子,这些孩子又有孩子,以此类推......所以我有一个递归函数,它获取父节点并使用递归来获取孩子,并且现在只是将它们打印到调试输出窗口... 但是在某个时候(大约运行了一个小时并打印了26000行后),它会给我一个StackOverFlowExcepti...

22得票11回答
前序遍历转后序遍历

如果一个二叉搜索树的前序遍历是6、2、1、4、3、7、10、9、11,如何得到后序遍历?

17得票6回答
以蜿蜒形式打印二叉树的层序遍历结果

我需要以螺旋形式打印二叉树的节点,使用层序遍历。即不同级别的节点应以螺旋形式打印。 例如:如果树看起来像这样: 输出应为10 5 20 25 15 6 4。 我使用的算法很简单,只是层序遍历的一个小变化。我只取了一个变量p。如果变量等于1,则按给定级别从左到右打印顺序,如果为-1,则...

7得票2回答
用C++(使用迭代器)建模任意树

我正在寻找一种方法来建模一个具有任意数量子节点的树。 这个答案建议使用Boost Graph Library来完成这个任务: 什么是好的、稳定的C++树实现? 我需要执行的主要操作是遍历函数(前序、子节点、叶子)和其子树。我还需要从子节点向上收集数据的功能。 BGL是否是正确的选择,...

8得票3回答
层序遍历的时间复杂度

二叉树层序遍历的时间复杂度是什么?是O(n)还是O(log n)? void levelorder(Node *n) { queue < Node * >q; q.enqueue(n); while(!q.empty()) { ...