问题标签 [postorder]

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 回答
1987 浏览

c++ - 二叉搜索树中节点/值的频率

给定一个二叉搜索树,其中可能包含重复项,但 BST 的所有其他逻辑都是完整的,确定最常出现的元素。

我正在对二叉搜索树进行后序遍历。当节点以连续顺序出现时,我的逻辑有效,但如果节点不是连续顺序;节点的频率被重置。

我的时间是 O(n),空间是 O(1)。

问题是节点没有连续链接。

我的示例树:

当节点不连续(即8-> 8-> 8-> 9-> 8)时,我真的很困惑如何考虑。

0 投票
2 回答
1578 浏览

c - 中序、前序和后序遍历

我编写了一个 C 程序来输入二叉搜索树的元素并显示它的 InOrder、PostOrder 和 PreOrder 遍历。

我收到这些警告信息:

我无法理解这些错误。你能帮我解决这些问题吗?

0 投票
1 回答
1548 浏览

javascript - 通用树后序遍历

这是我使用 JSON 树在 javascript 中进行递归后序遍历的代码。

我将如何调整此代码以处理节点中的 N 个子节点?

0 投票
1 回答
335 浏览

java - 为什么 2 个堆栈对于后订单横向如此有效

所以我熟悉后序遍历:

L -> R -> P(从左到右到父级)。

我看到一个代码可以使用 2 个堆栈非常优雅地执行后序遍历:

(通过http://articles.leetcode.com/binary-tree-post-order-traversal/

从本质上讲,一个堆栈只是反转另一个堆栈。我只是很好奇这是如何工作的。我有一个假设 Stack s 接受输入,因此输出类似于 P -> R -> L,它只是将其传递给 Stack reverser,后者吐出 L -> R .-> P,因为它是后进先出.

然而,只是想通过这个算法的过程来思考,我很难理解 Stack s 如何以及为什么以它的方式接受它的输入。希望我能对这里有所了解!谢谢 :)

0 投票
2 回答
71 浏览

mysql - 使用 SQL 查询更新帖子的顺序

我正在寻找一种解决方案来在两个帖子之间添加一个帖子并将新订单保存在数据库中。

我添加了对常规帖子的订单支持,我计划使用此字段对页面中的帖子进行排序。新帖子是通过 AJAX 从同一页面创建的。所有帖子都有相同的父级。

所以我有:

  1. 邮政A
  2. 邮政B
  3. 邮政C

现在我想在 PostA 和 PostB 之间创建一个新帖子 (PostD)。所以新订单将是

  1. 邮政A
  2. 邮政署
  3. 邮政B
  4. 邮政C

因此,必须为帖子 B 和 C 更新订单号,并且在保存新的 PostD 时为 PostD 分配订单号 2。

我想知道,什么是最好的解决方案。也许我可以做一个 SQL 查询来做这样的事情:

获取所有具有帖子父 XX 且订单号 >= 新帖子号的帖子,并将 +1 添加到这些帖子的订单号。

任何帮助将不胜感激,谢谢!

0 投票
1 回答
971 浏览

algorithm - 方案中的后序遍历

我正在研究二叉搜索树的后序遍历。这是我到目前为止所拥有的

我希望这段代码可以返回一个后订单遍历列表。但是它甚至没有编译。错误是

我检查了 append 和 cons 的语法。我仍然无法弄清楚这个问题。似乎逻辑而不是语法有问题。

能不能指出来解释一下。谢谢你。

0 投票
0 回答
365 浏览

c++ - 使用递归从给定的前序和后序构造二叉树

我正在制作给定前后顺序的二叉树形式。

预购:“vwbcyznamlp”

后订购:“cbznywmplav”

为此目的的逻辑

首先,注意根是 V,因为它既是前序中的第一个,也是后序中的最后一个:

然后看W和A,它们分别是根的第一个左孩子和最后一个右孩子。前序中的 A 标志着遍历从根的左子树过渡到根的右子树的地方。后购中的 W 标记同一个地方。请注意,当您拆分遍历时,A 和 W 是相邻位置:

现在你要为序列解决同样的问题:

例如,第一个序列的下一步是:

我正在通过递归制作树,但递归中的一些条件我不认识。因此,当我通过 preoder 遍历这棵树时,答案不正确。

通过递归制作树后,答案是

预购:“vwbccyznaml”

我做的代码在这里

首先我制作了 Tree Struct

附加功能

主功能

0 投票
1 回答
1679 浏览

c# - 如何从 C# 中给定的 InOrder 和 PreOrder 获取 postOrder?

如何在 C# 中从给定的 In Order 和 Pre-order 中获取 post order?

这个按顺序和预购我从文本框中得到它,当按下其他文本框中的按钮时,我想显示发布订单结果。

我已经用 C++ 解决了,但是 PostOrder 函数有 C# 问题。

0 投票
2 回答
760 浏览

python - 后序中的 Python 编号节点

我有一个带有如下所示节点的二叉树。

给定一棵树,我想按后序从 0 开始编号。我想做的一个例子

但是,我无法为递归部分找到正确的案例。

我正在尝试类似的东西

0 投票
1 回答
184 浏览

search - 从右到左的后序遍历二叉树

我知道当我们使用后序算法从左到右遍历二叉树时输出会是什么,但是当我们从右到左时我很难看到它会是什么。例如,以下树的后序遍历的输出会是“9 9 8 7 3 2 1 2 6 7”吗?还是“9 9 7 8 3 2 1 2 6 7”?还是在这两种情况下我都错了?7 3 9 2 6 8 9 1 2 7