问题标签 [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.
java - InOrder 树遍历
如何在这种树上实现 InOrder 遍历?我也需要打印运算符(如 3-2-1)。
我有这些课程:
Tree
filesystems - 使用 Scheme 将字符串附加到目录中的文件
首先请注意,这是一个家庭作业问题,所以我不是在寻找直接的代码或类似的东西,只是为了有人可以帮助我解决我的逻辑。
作业在 DrRacket 中。问题问:
给定一个 FileSystem,我们将它定义为一个结构,它有两个字段,名称和内容,其中内容是目录或文件的列表;编写一个函数,为目录中的每个文件创建一个“.bak”文件名,并将其放在文件之后。
我完全迷路了。我的逻辑如下:如果内容列表中的第一件事是文件,只需使用该文件重新制作目录并添加一个附加“.bak”的新文件。这是我所能得到的 - 如果有一个子目录,我看不出如何解决问题,或者如何继续向下移动列表。
这是我的残暴代码:
任何人都可以帮我解决这个问题吗?
python - Python:超出最大递归深度
我有以下递归代码,在每个节点我调用 sql 查询来获取节点属于父节点。
这是错误:
我调用以获取 sql 结果的方法:
我实际上对上述方法没有任何问题,但无论如何我还是把它放在了对问题的正确概述上。
递归代码:
调用递归函数
打印字典的代码,
如果递归太深,我应该在调用递归函数时收到错误,但是当我在打印字典时收到此错误。
java - 级别顺序,树遍历 - 如何跟踪级别?
如何在以级别顺序或广度优先顺序遍历二叉树时跟踪级别?
二叉树中的节点只有左右引用。
我希望能够区分每一行节点。
这是我的级别顺序遍历方法:
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
jquery - Jquery树遍历不选择
我有一些 jquery 变量试图获取附近元素的值,但是它们不起作用。我认为最接近()是正确的选择器。
查询:
HTML:
jquery - jquery不能遍历元素
我正在尝试选择 .singleAnswer 但它不起作用。
查询:
HTML:
binary-tree - 通过修改morris遍历实现PreOrder和PostOrder遍历
morris 遍历非常适合具有 O(n) 时间和 O(1) 空间的 InOrder 遍历。是否可以仅通过更改一些东西来使用相同的算法实现 PreOrder 和 PostOrder 遍历。
java - Java中的树遍历
我正在为工作面试而学习并正在审查树木,遍历它们时我没有问题,但我遇到了一个我无法找到正确答案的问题:
编写一个函数,给定两个参数,返回树中的一个节点:指向根节点的指针和我们要返回的节点的中序遍历数。树中存储的唯一信息是每个节点的子节点数。
到目前为止,我什至无法弄清楚为什么我会关心存储在树中的信息(孩子的数量)。除此之外,如果我们假设有一棵像这样的树:
那么中序遍历将是341547
,但我无法弄清楚返回我想要的节点的代码(为了论证,我假设中序遍历数为 2 - 这意味着我想要值为 1 的节点)。
我尝试进行递归遍历,但最终搞砸了我拥有的内部计数器,因此我尝试了一种不同的方法,只是尝试将所有内容都放在堆栈上,但我不知道如何正确地这样做。到目前为止,我有:
递归方法更容易,但我不知道如何检查我是否有我正在寻找的#:
我知道这会遍历树,但它仍然不能完全满足我的要求。任何帮助,将不胜感激。
java - 如何进行水平顺序遍历?
我正在尝试对二叉树进行线性顺序遍历,但无法获得正确的输出。基本上我已经创建了一个队列并首先将根入队,然后直到队列为空,我将第一个元素出列并将其子元素添加到队列的末尾。出队时,它返回一个通用元素 ()。我在将此元素转换为树节点时遇到问题,以便在下一步将其子节点排入队列末尾。这是我到目前为止所做的:
BTPosition 和 NodeQueue 的 API 可以在http://net3.datastructures.net/doc4/index.html?net/datastructures/中找到
任何建议都非常感谢..