嗨,我对这棵树有点困惑,需要帮助弄清楚我是否选择了正确的答案。
树:
A
/ \
B C
/ \
D E
让我们首先进行遍历:
问题:
一个。只是按顺序 湾只有级别订单 C。只有下订单 d。只是预订 即预订和水平订单 F。有序和水平顺序 G。以上都不是
回答g
以下哪项是BST的订单后遍历? 一个。 ACEDB 湾ABDCE C。 BDECA d。 EDCBA 即BADCE F。 BADEC G。以上之一
回答g
有人可以确认我是否正确完成了遍历,并为这两个问题选择了正确的答案。
由于
答案 0 :(得分:1)
这三种遍历算法是一种递归算法。这意味着,为了遍历以节点A为根的整个树,该算法将拆分并完成以下三个部分的任务:
这三个任务的顺序取决于您使用的顺序: -按顺序(左,根,右)执行任务1,任务3,然后执行任务2。 -预购(Root,Left,Right)执行task3,task1,然后执行task2。 -后订单(左,右,根)执行task1,task2,然后执行task3
继续递归算法:遍历以B为根的子树,它将进一步拆分任务,并遍历以B的左孩子为根的子树,以B的右孩子为根的子树,然后是B。
“拆分任务”继续进行,直到要遍历的子树仅包含一个根节点。在这种情况下,算法将访问根节点并返回到其余子任务。植根于A的正确子C的子树也发生了同样的事情。
以下是按照3个不同顺序遍历问题树并使用遍历结果回答问题的详细步骤:
顺序:BADCE
预订:ABCDE
后继订单:BDECA
您可以检查遍历结果是否与上述相同。
通过遍历结果,我们知道问题1的答案是g,问题2的答案是c。