问题标签 [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.
c++ - 二叉树的层序遍历
上面贴出的代码是我的关卡顺序遍历代码。这段代码对我来说很好,但我不喜欢的一件事是我正在显式初始化temp_node = NULL
或者我使用 break。但这对我来说似乎不是一个好的代码。
有没有比这更简洁的实现,或者我怎样才能让这段代码更好?
php - 如何从此结果集中创建一个数组(使用遍历模型存储在数据库中的嵌套类别)?
基于这个问题: Getting a modified preorder tree traversal model (nested set) into a <ul>
下面的逻辑用于构建有序列表,但是如何对数组做同样的事情呢?
我想构建一个嵌套数组。
javascript - 建设性地操作未知深度的 JSON 树中的任何值/对象
我有一个包含节点和子节点的 JSON 树 - 格式为:
我不知道这棵树的深度,一个节点能够有很多孩子,也有很多孩子等等。
我的问题是我需要使用 nodeID 将节点添加到此树中。例如,一个可以采用 nodeID 和节点对象(包括其子对象)的函数将能够替换树中的该节点 - 结果将成为一棵更大的树。
我只遇到递归函数,它允许我遍历 JSON 树中的所有节点,并且我对这些函数之一所做的修改返回了节点对象 - 但对我没有帮助,因为我需要修改原始树:
这使我可以进行以下测试:
综上所述 - 如何修改深度未知的 JSON 树的值?
提前致谢
python - 使用页面属性 sortIndex 遍历树
我正在基于从一个db.Model
名为 Pages 检索到的列表构建一个树结构。
每个 Page 条目都有一个 parentKey 属性,它是 adb.SelfReferenceProperty()
和一个db.IntegerProperty()
称为 sortIndex。
我获取列表并调用一个方法来遍历列表并将嵌套的字典作为我的树。我获取整个列表的原因是我想跳过多个查询。
和 build_tree:
问题是列表重新排列并且不遵循 det ORDER BY。我认为这是因为当找到合适的父级时,每个页面都被放入列表中。但即使是第一级(具有 的页面parentKey == None
)也以错误的顺序返回。
我尝试在 tree[str(i) + '_' + str(key)] 上使用循环计数器设置前缀,但仍然没有以正确的顺序返回。
那么问题是如何让它们按正确的顺序排列?
编辑[已解决]:
见下文
algorithm - 寻找二叉树的边界
我们得到一个二叉搜索树;我们需要找出它的边界。
所以,如果二叉树是
它应该打印出来50 25 15 35 120 155 250 20 150 10
。
如果二叉树是
应该是这样的50 25 15 35 65 30 200 150 10
。
如何才能做到这一点?将其推广到二叉树是否会使问题变得更加困难?
通过链接提供的任何帮助也将不胜感激。
PS:请注意,模式不是从根开始,而是从左边开始(在这种情况下)。它也可能以正确开头,但始终以根结尾。
tree - 使用给定遍历重绘二叉树
我不明白如何绘制二叉树进行遍历。有人可以以更有效的方式向我解释中序、前序和后序遍历吗?
例如:
给定以下遍历,重建确切的 BINARY 树:
为了:
发布订单:
data-structures - 公式的后序遍历
在数据结构中,我将按顺序转换和预排序公式转换为树。但是,我对后订购不是很好。
对于给定的公式x y z + a b - c * / -
我想出了
在大多数情况下,这似乎很合适,除了左子树中的 * 是甲板上的小丑。在后序遍历中,最后一个字符是树的顶部节点,其他所有内容都向下分支。现在我将 / 和 * 运算符表示它们应该位于相反的节点上。但是,在遍历树时,除了 * 之外的所有内容都适合,因为左子树必须先到达根节点之前的节点,然后再切换到右子树。
向正确方向轻推是值得赞赏的。
c++ - Binary Search Tree-breadthFirst 函数调用
我有算法, void leveltraversal(ostream& out);
但我不知道如何在 main () 中调用它。在我的作业中,我们不允许更改头文件。有没有办法在不重载的情况下调用它?
更新:
php - 在不循环的情况下访问 SimpleXMLElement 属性
我已经尝试过 SimpleXMLElement XPath 方法和 DOMDocument XPath 方法,但似乎都无法让事情变得直接,但至少使用 SimpleXMLElement 路由,我实际上可以打印出结果 var 并查看发生了什么。(见下面的结果)
我想使用 XPath 查询而不必遍历结果。我想我只想像访问数组一样访问结果,但问题似乎超出了该结果数组中的 SimpleXMLElement 对象。
我正在通过具有特定类的 div 查询 HTML 片段。虽然这个特定类有几个 div,所以它们都被返回,这很好。这就是我想要的。但是现在我想访问每个并获取它们的值,在大多数情况下只有它们有子 div。
这是我用来执行 XPath 查询的行:
这是结果的 print_r() 输出:
现在,因为我知道每个值在哪里,我想我可以像这样访问它们:
明显的问题是 SimpleXMLElement 对象夹在 $stats 数组中的项目和我所追求的 ['div'] 数组的子项值之间,它们隐藏在那些 SimpleXMLElement 对象后面。
那么如何在不循环 $stats 数组的情况下获得 SimpleXMLElement 对象之外的那些值呢?有什么类似于我上面已经尝试过的吗?
javascript - 函数如何找到最初调用该函数的锚的父元素?
好的,仅这个问题就让我头晕目眩。
我有一个调用函数的锚标记:
仅供参考,这是被调用的函数:
我想允许此功能在单个页面上处理多个表单。所以我的想法是在树中返回到父表单元素,获取它的 id 并使用它(以某种方式)允许该函数在页面中的多个表单上工作。
您可以看到我尝试使用快速的 console.log 来测试我的想法,但它一直返回“未定义”。我还尝试在锚标记本身中运行 console.log,但它也是“未定义”。
我测试了 .parents() 并且它在锚标记中完美地工作,但在函数 iteslf 中却没有。
有什么建议么?