问题标签 [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 投票
1 回答
960 浏览

java - InOrder 树遍历

如何在这种树上实现 InOrder 遍历?我也需要打印运算符(如 3-2-1)。

我有这些课程:

Tree

0 投票
2 回答
133 浏览

filesystems - 使用 Scheme 将字符串附加到目录中的文件

首先请注意,这是一个家庭作业问题,所以我不是在寻找直接的代码或类似的东西,只是为了有人可以帮助我解决我的逻辑。

作业在 DrRacket 中。问题问:

给定一个 FileSystem,我们将它定义为一个结构,它有两个字段,名称和内容,其中内容是目录或文件的列表;编写一个函数,为目录中的每个文件创建一个“.bak”文件名,并将其放在文件之后。

我完全迷路了。我的逻辑如下:如果内容列表中的第一件事是文件,只需使用该文件重新制作目录并添加一个附加“.bak”的新文件。这是我所能得到的 - 如果有一个子目录,我看不出如何解决问题,或者如何继续向下移动列表。

这是我的残暴代码:

任何人都可以帮我解决这个问题吗?

0 投票
1 回答
212470 浏览

python - Python:超出最大递归深度

我有以下递归代码,在每个节点我调用 sql 查询来获取节点属于父节点。

这是错误:

我调用以获取 sql 结果的方法:

我实际上对上述方法没有任何问题,但无论如何我还是把它放在了对问题的正确概述上。

递归代码:

调用递归函数

打印字典的代码,

如果递归太深,我应该在调用递归函数时收到错误,但是当我在打印字典时收到此错误。

0 投票
4 回答
6026 浏览

java - 级别顺序,树遍历 - 如何跟踪级别?

如何在以级别顺序或广度优先顺序遍历二叉树时跟踪级别?

二叉树中的节点只有左右引用。

我希望能够区分每一行节点。

这是我的级别顺序遍历方法:

0 投票
1 回答
442 浏览

php - 对象模型设计;派生类的基类意识

序言:基类意识到并使用派生类型进行交互是不好的设计吗?我假设不是,那么我应该考虑以下哪种方法?


语言是PHP,但我认为这个问题更关注设计模式的更广泛主题

我一直处于两难境地,试图将一组类建模为节点;我不断地猜测我的设计决策,这导致了永久的挫败感。

给定这组参数:

  • 节点有父引用(单向遍历
  • 从 Node 派生的任何对象类型都可以是从 Node 派生的任何其他对象类型的父(或子)。

所以我有:

现在这就是我的设计困境出现的地方;在遍历过程中NodeOne,可能需要自己找到实例以及派生的任何其他类型的实例AbstractNode请注意,此功能并非NodeOne实例独有,但这只是一个示例

这将允许特定类型的遍历,例如,将来自特定类型对象的数据聚合到树上。我想我会专门研究一种方法来达到这个目的:

由于任何派生类型都可能需要遍历实例NodeOne,因此将这个方法放在基类中是有意义的AbstractNode,但是现在我的基类需要了解派生类型。

我觉得这闻起来很糟糕,但我不知道这种方法还应该去哪里。我正在阅读有关可能解决方案的结构设计模式。


想到的一个类比是 DOM,对某些类型进行祖先遍历:

  • bar[@id='8']聚合所有foo祖先id值:
    结果4 1

  • bar[@id='7']聚合所有foo祖先id值:
    结果6 4 1

0 投票
3 回答
72 浏览

jquery - Jquery树遍历不选择

我有一些 jquery 变量试图获取附近元素的值,但是它们不起作用。我认为最接近()是正确的选择器。

查询:

HTML:

0 投票
2 回答
119 浏览

jquery - jquery不能遍历元素

我正在尝试选择 .singleAnswer 但它不起作用。

查询:

HTML:

0 投票
6 回答
3022 浏览

binary-tree - 通过修改morris遍历实现PreOrder和PostOrder遍历

morris 遍历非常适合具有 O(n) 时间和 O(1) 空间的 InOrder 遍历。是否可以仅通过更改一些东西来使用相同的算法实现 PreOrder 和 PostOrder 遍历。

0 投票
4 回答
10454 浏览

java - Java中的树遍历

我正在为工作面试而学习并正在审查树木,遍历它们时我没有问题,但我遇到了一个我无法找到正确答案的问题:

编写一个函数,给定两个参数,返回树中的一个节点:指向根节点的指针和我们要返回的节点的中序遍历数。树中存储的唯一信息是每个节点的子节点数。

到目前为止,我什至无法弄清楚为什么我会关心存储在树中的信息(孩子的数量)。除此之外,如果我们假设有一棵像这样的树:

那么中序遍历将是341547,但我无法弄清楚返回我想要的节点的代码(为了论证,我假设中序遍历数为 2 - 这意味着我想要值为 1 的节点)。

我尝试进行递归遍历,但最终搞砸了我拥有的内部计数器,因此我尝试了一种不同的方法,只是尝试将所有内容都放在堆栈上,但我不知道如何正确地这样做。到目前为止,我有:

递归方法更容易,但我不知道如何检查我是否有我正在寻找的#:

我知道这会遍历树,但它仍然不能完全满足我的要求。任何帮助,将不胜感激。

0 投票
1 回答
7952 浏览

java - 如何进行水平顺序遍历?

我正在尝试对二叉树进行线性顺序遍历,但无法获得正确的输出。基本上我已经创建了一个队列并首先将根入队,然后直到队列为空,我将第一个元素出列并将其子元素添加到队列的末尾。出队时,它返回一个通用元素 ()。我在将此元素转换为树节点时遇到问题,以便在下一步将其子节点排入队列末尾。这是我到目前为止所做的:

BTPosition 和 NodeQueue 的 API 可以在http://net3.datastructures.net/doc4/index.html?net/datastructures/中找到

任何建议都非常感谢..