如何创建二叉树并使用预订遍历策略绘制它?根将是第一个号码进去。C++,如何创建和绘制二叉树然后在预订中遍历它
我有一组数字:48 32 51 54 31 24 39
。 48将是根。子节点在预定义遍历中如何推到二叉树上?
如何创建二叉树并使用预订遍历策略绘制它?根将是第一个号码进去。C++,如何创建和绘制二叉树然后在预订中遍历它
我有一组数字:48 32 51 54 31 24 39
。 48将是根。子节点在预定义遍历中如何推到二叉树上?
想象下面的子问题。你有一组数字:
N A1...AX B1...BY
你知道N
是对应的树的根。所有你需要知道的是什么数字形成了左边的子树。显然其余的数字构成了正确的子树。
如果您还记得二叉搜索树的属性,您会知道左子树的元素的值小于根(而右边的值的值更大)。
因此,左子树是小于(或可能等于)N
的数字序列。其余的数字在右边的子树中。
递归解决
A1...AX
和
B1...BY
例如,给定:
10 1 5 2 9 3 1 6 4 11 15 12 19 20
你得到:
假设有下列二进制树:
A
/ \
B C
/\ /\
D E F G
/\
H I
一个预购的遍历走NODE,LEFT,RIGHT。
所以这个二叉树的预购将是:A B D E H I C F G
有关如何落实这在C++的详细信息:https://stackoverflow.com/a/17658699/445131
你们是不是要建设赋予了前序遍历二叉树?或者你是否想要在二叉树上预订旅行? (对不起,这个问题不是很清楚) –
使用上述编号构建的二叉树的PRe-Order Traversal会导致什么结果呢? – Ryan