问题标签 [tree-traversal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
22271 浏览

java - Java 二叉树。打印InOrder遍历

我在打印我的二叉树的 inOrder 遍历时遇到了一些问题。即使在树中插入许多项目后,它也只打印 3 个项目。

0 投票
2 回答
7194 浏览

c++ - 如何遍历 Btree?

我有一个 Btree,我试图弄清楚如何遍历它,以便键以升序显示。

我能想到的是,这可以通过递归函数来完成。

做它的伪代码是什么?

0 投票
3 回答
13901 浏览

jquery - jQuery:给每个匹配的元素一个唯一的ID

我正在编写一个“内联翻译器”应用程序,与云计算平台一起使用以扩展不受支持的语言。其中大部分使用 jQuery 来查找文本值,将其替换为翻译,然后将元素附加到具有唯一 ID 的 span 标签,以便在应用程序的其他地方使用。但是,当有多个元素(例如 )具有要翻译的完全相同的值(匹配的元素)时,就会出现问题。在所讨论的函数中发生的情况是,它将所有匹配的元素放在同一个跨度中,从它们的父标签中取出第二个、第三个、第四个等。我的代码很像这个例子:

作为一种解决方法,我尝试使用循环为每个跨度创建一个类,递增直到 jQuery("input[id~=test1]").length,但我似乎什么都做不到去工作。有没有办法给每个匹配的元素一个唯一的 ID?我对 jQuery 的流利程度正在接受考验!

感谢您提前提供任何帮助。

亚伦

0 投票
2 回答
4350 浏览

c++ - 给定中序和后序遍历,如何输出树的前序遍历?

当我在整数数组中有前序遍历和中序遍历时,给出输出树的后序遍历的代码。我如何用给定的 inorder 和 postorder 数组同样获得预购?

这是 preorder() 的原型

void preorder(int inorderorder[], int inostart, int postorder[], int poststart, int length)

使用 postorder() 它将是

输出将是

下面是 print_preorder() 的错误代码,下面仍然无法正常工作

0 投票
3 回答
912 浏览

c++ - BST前序遍历并将树内容写入临时数组

我正在尝试将二叉搜索树的内容写入临时数组以便在 main.xml 中使用。但是我不知道该怎么做......我尝试过这样的事情:

并且,它给出了以下错误:

将“temp”a 声明为引用数组

'((Book*)this->Book::temp[x]' 中的 'operator[]' 不匹配

调用 'Book::preorder(TreeNode*&, Person&, int&)' 没有匹配的函数

0 投票
4 回答
4612 浏览

binary-tree - 后序遍历

中序树遍历显然有应用;按顺序获取内容。

前序遍历似乎对于创建树的副本非常有用。

二叉树的后序遍历是否有常见用途?

0 投票
2 回答
621 浏览

haskell - Haskell中的SceneGraph遍历

我想在 Haskell 中使用Data.Tree包含TransformShape节点实现一个简单的 SceneGraph。在 SceneGraph 中,空间变换在遍历时累积并应用于形状以进行渲染。

假设我们有一个场景,其中一个对象向右移动,由底部的正方形和顶部的圆形组成

我想出了这个树定义:

渲染将是这样的:

我的问题是:

1)你如何定义一个traverse函数,它累积转换并调用渲染任务?

2)如何避免进行遍历IO?

3) 是否有更短的版本来定义这棵树?除了第一个 Node 定义和所有空的 subForests 之外的所有内容实际上都是多余的。

谢谢!

0 投票
4 回答
2482 浏览

c# - Bin Tree Post Order Traversal,无递归,无节点标志

还有另一种方法可以做到这一点吗?只花了2个小时试图弄清楚。我有一个解决方案(请参阅下面的 DumpPostOrder)但是,有没有更好或更有效的方法?感觉可能有。规则是 - 没有递归,并且节点不能有访问标志。即,您只能使用左+右成员。

我的方法是在此过程中破坏树。通过将每一侧的子节点设置为 null,您可以将节点标记为遍历一次,但我也在查看每个节点的子节点两次 :(。有更好更快的方法吗?(感谢对我的预排序和中序实现的评论但没有必要(即会投票,但不会标记答案)。谢谢!

0 投票
3 回答
7441 浏览

algorithm - O(logn) 时间复杂度中 BST 的中位数

我遇到了http://discuss.joelonsoftware.com/default.asp?interview.11.780597.8给出的解决方案,使用 Morris InOrder 遍历,我们可以及时找到中位数O(n)

但是是否有可能实现相同的使用O(logn)时间?这里也有同样的问题 - http://www.careercup.com/question?id=192816

0 投票
2 回答
8610 浏览

algorithm - 真实世界的前/后顺序树遍历示例

我很好地理解了前序、中序和后序树遍历算法。(参考)。我了解一些用途:按顺序遍历二叉搜索树的顺序,克隆树的预顺序。但是我一辈子都无法想出一个需要后序遍历才能完成的现实世界任务。

你可以给我一个例子吗?并且:你能给我更好的预购遍历用途吗?

编辑:除了表达式树和 RPN,谁能给我一个例子?这真的是所有后订单都有好处吗?