问题标签 [inorder]
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.
binary-tree - 从两个遍历输出创建二叉树
这是作业,但由于某种原因,它不允许我添加作业标签。
我们被分配了一个数据结构实验室,其中最后一个问题要求我们找到能够从给定的遍历方法产生以下输出的二叉树:
和
我已经确定了有关树的以下内容:
根节点是 3。树的左子节点和唯一左子节点是 12。根节点右子节点是 6。最右边的节点是 5。
不幸的是,我不知道如何继续。任何提示将不胜感激。
c++ - 二叉树:迭代中序打印
我编写了一个 Red-Black Tree 实现,具有内置的中序遍历(使用 nested class Iterator
)。
我正在寻找一种(迭代,如果可能的话)算法,该算法使用中序遍历以图形方式打印二叉树。
打印方向不相关,即命令行输出中的树可以像这样定向(格式化):
或像这样:
甚至是颠倒的,但树应该使用in-oder遍历打印,使用下面提供的方法:
所以有可能做这样的事情:
这是原始代码:
我已经研究了类似问题的回答,但是没有一个算法使用中序遍历(并且其中大多数是递归的)。
编辑:
遵循@nonsensickle 的建议,代码被缩减到最低限度。
java - 二叉树的中序迭代器 - java
这是我的节点类:
.. 等等。
这是带有 next() 和 hasNext() 方法的中序迭代器:
问题是,它只打印左子树上的左节点。例如,对于具有根节点 17、左节点 15 和右节点 19 的树,它只打印 15。
所以它永远不会进入右子树。
我猜问题出在这else while (true)
部分,但我不知道如何解决这个问题。
tree - 树遍历中序 LISP
我试图返回按顺序访问的树(不一定是二叉树)的节点列表。
树表示为带有子列表的列表,例如: (a (b) (c (d) (e))), b - 左子树, (c (d) (e)) - 右子树, a -根。结果应该是:b,a,d,c,e
这是我的代码,但我似乎总是收到“堆栈溢出”错误。有人可以帮帮我吗?
tree - lisp中的中序遍历
我正在尝试遍历 Lisp 中的树顺序。到目前为止,我设法构建了 Postorder 遍历,但是 inorder 让我头疼..
树的格式是这样的:
c++ - 无法使用非递归中序方法遍历二叉树
我正在尝试遍历使用键盘输入数据构建的二叉树。数据成功插入二叉树。我有一个 switch 语句,其中“case 3”应该使用非递归中序遍历算法遍历(并打印)二叉树。但是,当调用“案例 3”时,它会给出 EXC_BAD_ACCESS 错误,这对我来说毫无意义。如果有人帮我解决这个问题,我会非常高兴。
(RootPtr 是全局定义的二叉树的顶级 0 节点;GetNodeS 基本上是用于 StackPtr 类型指针的初始化函数(使用 malloc)。)
谢谢大家。
以下是相关代码:
这些是结构定义,
这些是 Push 和 Pop 功能,
这是遍历函数,
这是我尝试调用迭代遍历函数的开关案例,
binary-tree - 查找仅给定中序遍历的二叉树
我得到了一个中序遍历,需要找到一棵二叉树。我提到了我的网站,他们中的大多数人说这是不可能的。但是,我认为非唯一二叉树是可能的。我可以使用刚刚给定的中序遍历找到二叉树吗?如果没有,我可以从给定的中序遍历中找到相应的前序遍历吗?
我试图通过选择 in-order 的中心节点作为根来将 in-order 转换为 pre-order,但我不确定它是否正确。请指导我。
谢谢你。
c - 为什么我的 insert_node 函数会擦除我的根?(C)
我正在尝试编写一个程序,将带有成员字符串的节点插入到 BST 中,然后打印有关该 BST 的信息,例如高度、中序遍历、叶子数等...
截至目前,当我进行中序遍历时,它会打印作为根输入的最后一个字符串,即使它应该位于树的底部。
这是代码:
插入功能:
中序遍历函数:
它们的使用方式:
输入如下所示:
所以输出(在进行中序遍历时)应该是:
但它是:
python-3.x - 树遍历python
我必须定义三个函数:preorder(t):
、postorder(t):
和inorder(t):
。
每个函数都将二叉树作为输入并返回一个列表。然后应该以与在相应遍历中访问树元素相同的方式对列表进行排序(后序、前序或中序)
我已经为它们中的每一个编写了一个代码,但是当我调用另一个函数(flat_list()
)时我不断收到错误,我得到一个索引错误
我的遍历方法的代码如下:
这就是我所说的 flat_list2