问题标签 [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.
c - 树遍历没有给出预期的输出
我在下面有这个简单的代码,我相信这是遍历的标准。问题是我得到了一组特定输入的预期输出,而其他输入却出乎意料。例如,对于输入序列15,3,6,11,45,54,65,3,66
,我得到了预期的预购 o/p : 15,3,6,11,45,54,65,66
。但是对于序列,45,3,54,65,23,66,5,3
我希望预购 o/p45,3,23,5,54,65,66
但我得到了45 3 5 23 54 65 66
. 对于后订购,我对这两个序列都感到意外,分别获得3,6,11,45,54,65,66,15
和3,5,23,54,65,66,45
同时我期望11,6,3,66,65,54,45,15
和5,23,3,66,65,54,45
。我是否理解错误或我的代码有问题?
prolog - PROLOG(如何对多路树进行后排序)
我正在为如下的 Prolog 作业而苦苦挣扎,
Prolog 使用通用树,而不是二叉树。一个例子是
对此难题的任何帮助表示赞赏。
tree - 使用univ在一般树中进行Prolog后序遍历
我正在尝试以后序方式遍历序言中的一般树。我发现了很多二叉树后序遍历,但无法将它们用于我的目的。我写了一个程序,但它只以与输入方式相反的方式打印我的树,即用于输入
这是我到目前为止编写的代码
我没有得到后序遍历的方法
非常感谢任何帮助
algorithm - 在完美二叉树中获取顶点的父节点
我有一个完美的二叉树,它枚举了后序方式。这种树的一个例子是
我知道树的大小。我正在寻找一个公式或简单算法,它将一个数字作为输入(我感兴趣的顶点的 ID)并返回一个数字 - 父节点的 ID。从顶部遍历树并获得结果非常容易O(log n)
。有更快的解决方案吗?我对叶子最感兴趣,所以如果有针对特殊情况的解决方案,也可以带上它。
java - 如何仅从级别顺序遍历字符串构造二叉树
考虑具有以下属性的二叉树:
- 如果内部节点(非叶节点)有两个子节点,则其值为 1。
- 叶节点的值为 0,因为它没有子节点。
树上的级别顺序遍历将生成一串 1 和 0(通过在每个节点被访问时打印奇怪的值)。现在给定这个字符串构造二叉树并在树上执行后序遍历。后订单字符串应该是程序的输出。
例如:输入字符串是
111001000
. 以此创建二叉树。然后在树上执行后序遍历,这将导致输出:001001011
问题的“症结”是仅从级别顺序字符串创建二叉树。我该怎么做?
java - 此代码是否适合二叉树中的欧拉之旅?
我想写一个在二叉树中显示 EulerTour 的代码。我在下面写了代码:
但我有 3 个问题:
适合欧拉之旅吗??
如果是,它似乎与树的 postOrder Traverse 非常相似。正确的?
如果它类似于 post Order traverse 那么我们使用 2 个单独的代码有什么区别?
提前致谢
java - 从Java中的后序遍历构造二叉搜索树
我正在实现代码以BST(binary search tree)
从给定的post-order traversal array
以下算法构造。我不回来了binary Search Tree
。我得到了一些毫无意义的东西。这是我的代码
我打印时的输出pre-order traversal is 5 9 6 8 3 4
不正确。
知道我哪里可能出错了吗?
编辑:在交换行的顺序root.right and root.left
(之前注释掉一个)之后,它left tree
是正确构建的,但正确的树不是。我得到的输出是
5 3 1 4 9 6 8
java - Binary Search Tree Traversal in Java(output not coming correct)
I am working on BST and right now trying tree traversal.My inorder traversal output is coming correct by pre order and post order output is not coming correct. My code is
In preorder the output that I am getting is
4-1-2-3-5-6-7
while shouldn't it be
4-1-2-3-6-5-7
. Similarly for post order output is
1-2-3-5-6-7-4
while it should be
3-2-1-5-7-6-4
.
Don't know where I am getting wrong.
c++ - 什么是左右节点,其中节点可能> 2
我似乎无法理解树中的左节点和右节点是什么。
假设我有这样的结构,
什么是剩下的,什么是正确的?它存在于这里吗?如果是这样,我如何确定 w/c 是左而 w/c 是正确的?
我想将它们从根遍历到父级(后序)
这是正确的方法吗?
但是这里没有左右节点?
algorithm - 从前序遍历和后序遍历重建树
鉴于具有独特元素的非二叉树的前序和后序遍历,我如何创建它们来自的树?
例如
给定预购 = ABCDEF
和后购 = BCEFDA
它应该构建一棵树,相当于
~~A~~~~~
~/~|~\~~~
B~C~D~~
~~~~/~\~~ ~
E~~F~
(对不起波浪号,这是我能弄清楚如何让树看起来正确并且仍然清晰的唯一方法)
无论如何,我不是要求代码来执行此操作,因为它是一个家庭作业项目,并且代码本身不是问题。我需要帮助的是比较两个输入的算法,以便它们可靠地创建正确的树
PS 给定的树可能或多或少具有任意数量(大概 <= 26)的节点
TL;博士
How do I use Pre-order and Post-order traversals to construct their original tree