问题标签 [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 和 preorder 遍历树
可能的重复:
构造一棵树
嗨,我怎样才能用java编写一个程序,以便创建一个具有给定预序和中序的树。我知道用 inorder 遍历树,也知道用 preorder 遍历树,但是我不能从 inorder 和 preorder 一起创建树
haskell - Haskell 中的变质和树遍历
我很不耐烦,期待了解与这个 SO 问题相关的catamorphism :)
我只练习了 Real World Haskell 教程的开始。所以,也许我现在要求太多了,如果是这样,请告诉我应该学习的概念。
下面,我引用了catamorphism 的维基百科代码示例。
我想知道您对下面 foldTree 的看法,这是一种遍历 Tree 的方式,与其他 SO 问题和答案相比,还涉及遍历 Tree n-ary tree traversal。(与是否为二元无关,我认为可以编写下面的变态以管理 n 叉树)
我发表了我所理解的评论,如果你能纠正我并澄清一些事情,我会很高兴。
在这一点上我遇到了很多困难,我似乎猜测态射叶将应用于任何叶但是为了真正使用这段代码,需要为 foldTree 提供一个定义的 TreeAlgebra,一个具有定义的态射叶的 TreeAlgebra从而做点什么?
但在这种情况下,在 foldTree 代码中,我希望 {f = leaf} 而不是相反
非常欢迎您的任何澄清。
python - 惯用 Python:传播产量或展平序列?
我正在编写一个广度深度优先树遍历函数,我想做的是:
这个想法是在树中得到一个(平面)节点序列。
方法#1:(传播收益)
方法#2:(展平序列)
第一种方法看起来更干净,但我觉得很奇怪yield
在每个级别的子树中显式地设置每个节点。
第二种方法简洁且略显肮脏,但它符合我在 Haskell 中编写的内容:
所以我的问题是:哪个更好?还是我错过了最佳的第三选择?
algorithm - 前序到后序遍历
如果二叉搜索树的前序遍历是6、2、1、4、3、7、10、9、11,那么如何得到后序遍历呢?
algorithm - 在每个节点进行前后访问的迭代深度优先树遍历
谁能指出我的迭代深度优先树遍历的伪代码,其中可以在前序和后序对每个节点执行操作?
也就是说,在进入节点的子节点之前的动作,然后是从子节点上升之后的动作?
另外,我的树不是二元的——每个节点都有 0..n 个子节点。
基本上,我的案例是转换递归遍历,我在当前节点上执行前操作和后操作,递归到子节点的任一侧。
tree - 使用抽象基类类型遍历整个 JAXB 对象树
我编写软件的系统硬件是通过硬件以树形结构物理连接的。我们应用程序中的数据模型是一个树。对于我们的新重写,我们使用 JAXB 创建数据模型。
我们有三种类型的设备,它们都共享一些属性,所以我在 XSD 模式中创建了一个抽象设备类型。我的三个设备(Pushers、Switchers、Receivers)都是从 XSD 中的 DeviceType 扩展而来的,如下所示:
推送器只有切换器子元素,而切换器可以同时具有切换器或接收器子元素。接收器是行的末端(叶节点)。xjc 构建类。我得到了 Unmarshaller 来构造对象树,但我不知道如何为 getDevice() 获取 getter 方法。对于树遍历,我希望 JAXB 能提供类似“getChildren”的东西,但我没有在 API 中看到。如果我得到一个切换器对象,我有 getSwitcher() 和 getReceiver() 的方法,但没有 getDevice() 方法。但我试图避免使用instanceof当我进行完整的树遍历时。xjc 构建的 Java 代码确实从 Device 类扩展而来,但我还没有学会如何为所有设备获取通用 getter 方法。两天前我刚开始使用 Jaxb,我有很多东西要学习 Jaxb API。
昨天是我玩 JAXB 的第一天,我认为这个工具非常适合我们的系统。我们的硬件实际上是一棵树,我们有多个部署,使用 XML 作为我们的站点配置文件来构建状态模型将是理想的。
这里对 JAXB 新手有什么建议吗?
jquery - Selecting non-nested subnodes with JQuery
I have a HTML structure that contains nested divs with the container
class:
This could include more divs and deeper/different nesting.
Starting from some point in the tree I'd like to find all containers in that subtree that are not nested within other containers. So for example from div #1
I'd like to find the divs #2
and #5
, but not #3
(since it is nested in container #2
already found).
What would be the best way to accomplish this?
jquery - 包装多个元素成
之间
使用 jQuery 我想改变这个:
<h3>Question 1</h3>
<p>Answer 1 P1</p>
<p>Answer 1 P2</p>
<h3>Question 2</h3>
<p>Answer 2 P1</p>
<p>Answe
使用 jQuery 我想改变这个:
进入:
任何建议将不胜感激。
谢谢!
刷新 uiwebview (iphone) 中的 html 文件的内容
我在 UIWebView 中加载了一个简单的 html 文件。此 html 包含一个网络摄像头的单个图像。
现在我想每 6 秒刷新一次这个 htmlfile/image ,并显示更新的网络摄像头图像。
我试过了:
和
但它不起作用。还有其他知道刷新页面的方法吗?
谢谢。
0
投票
2
回答
12675
浏览
python - BeautifulSoup 解析树上的深度优先遍历
有没有办法在 BeautifulSoup 解析树上做 DFT?我正在尝试做一些事情,例如从根开始,通常,获取所有子元素,然后为每个子元素获取他们的子元素,等等,直到我点击一个终端节点,此时我将建立我的方式备份树. 问题是我似乎找不到允许我这样做的方法。我找到了 findChildren 方法,但这似乎只是将整个页面多次放入列表中,并且每个后续条目都会减少。我也许可以使用它来进行遍历,但是除了列表中的最后一个条目之外,它似乎没有任何方法可以将条目标识为终端节点。有任何想法吗?
0
投票
1
回答
203
浏览
c++ - 遍历树..为了内存访问冲突的问题
所以我写了这个小小的和平代码作为自己的练习......
但是我在*traverse_inorder(p->left)* 内存访问冲突和程序崩溃行进入 travers_inorder 函数。为什么???有任何想法吗?
更新:我正在使用 Visual Studio 2008 SP1 一个 Visual C++ 编译器
使用 jQuery 我想改变这个:
<h3>Question 1</h3>
<p>Answer 1 P1</p>
<p>Answer 1 P2</p>
<h3>Question 2</h3>
<p>Answer 2 P1</p>
<p>Answe
使用 jQuery 我想改变这个:
进入:
任何建议将不胜感激。
谢谢!
刷新 uiwebview (iphone) 中的 html 文件的内容
我在 UIWebView 中加载了一个简单的 html 文件。此 html 包含一个网络摄像头的单个图像。
现在我想每 6 秒刷新一次这个 htmlfile/image ,并显示更新的网络摄像头图像。
我试过了:
和
但它不起作用。还有其他知道刷新页面的方法吗?
谢谢。
python - BeautifulSoup 解析树上的深度优先遍历
有没有办法在 BeautifulSoup 解析树上做 DFT?我正在尝试做一些事情,例如从根开始,通常,获取所有子元素,然后为每个子元素获取他们的子元素,等等,直到我点击一个终端节点,此时我将建立我的方式备份树. 问题是我似乎找不到允许我这样做的方法。我找到了 findChildren 方法,但这似乎只是将整个页面多次放入列表中,并且每个后续条目都会减少。我也许可以使用它来进行遍历,但是除了列表中的最后一个条目之外,它似乎没有任何方法可以将条目标识为终端节点。有任何想法吗?
c++ - 遍历树..为了内存访问冲突的问题
所以我写了这个小小的和平代码作为自己的练习......
但是我在*traverse_inorder(p->left)* 内存访问冲突和程序崩溃行进入 travers_inorder 函数。为什么???有任何想法吗?
更新:我正在使用 Visual Studio 2008 SP1 一个 Visual C++ 编译器