📜  数据结构 |树遍历 |问题 11

📅  最后修改于: 2021-09-08 13:36:07             🧑  作者: Mango

让 LASTPOST、LASTIN 和 LASTPRE 表示在后序、中序和前序遍历中访问的最后一个顶点。分别为一棵完全二叉树。以下哪项总是正确的? (GATE CS 2000)
(A) LASTIN = LASTPOST
(B) LASTIN = LASTPRE
(C) LASTPRE = LASTPOST
(D)以上都不是答案: (D)
解释:假设给定的树是完全二叉树。对于完整的二叉树,最后访问的节点对于中序和前序遍历总是相同的。即使对于完整的二叉树,上述情况都不成立。

选项(a)是不正确的,因为在中序遍历中访问的最后一个节点是右子节点,而在后序遍历中访问的最后一个节点是根。

选项(c)是不正确的,因为前序遍历中访问的最后一个节点是右子节点,而后序遍历中访问的最后一个节点是根。

对于选项 (b),请参阅以下计数器示例。感谢 Hunaif Muhammed 提供正确的解释。

1
   /    \
  2      3
 / \    /
4   5  6  

Inorder traversal is 4 2 5 1 6 3
Preorder traversal is 1 2 4 5 3 6 

这个问题的测验