Graph theory 前序遍历是否可能与后序遍历的顺序相同?

Graph theory 前序遍历是否可能与后序遍历的顺序相同?,graph-theory,tree-traversal,preorder,postorder,Graph Theory,Tree Traversal,Preorder,Postorder,如果不是一个有多个节点的有序树。T的前序遍历是否可能以与T的后序遍历相同的顺序访问节点? 如果“是”,请举例说明。如果“否”,你能解释一下为什么它不能发生吗?除非我遗漏了一些非常明显的东西,否则答案是否定的。一个有>1个节点(例如,2个节点)的有序树将如下所示 或 后序遍历按左-右-根的顺序访问节点,预序遍历按左-右-根的顺序访问节点。为了让它们产生相同的输出,“left”必须等于“root”,这根本没有意义。在上面的示例中,预订单将分别生成AB或AC,后订单将生成BA和CA。在一般情况下,树的

如果不是一个有多个节点的有序树。T的前序遍历是否可能以与T的后序遍历相同的顺序访问节点?
如果“是”,请举例说明。如果“否”,你能解释一下为什么它不能发生吗?

除非我遗漏了一些非常明显的东西,否则答案是否定的。一个有>1个节点(例如,2个节点)的有序树将如下所示


后序遍历按左-右-根的顺序访问节点,预序遍历按左-右-根的顺序访问节点。为了让它们产生相同的输出,“left”必须等于“root”,这根本没有意义。在上面的示例中,预订单将分别生成AB或AC,后订单将生成BA和CA。

在一般情况下,树的叶子是唯一的,因此,如果执行预订单或后订单遍历,则应该以相反的方式显示

然而,我可以看到两种情况下,前序和后序遍历是相同的:单元素和重复元素

对于单例,您只有一个节点,因此在查找零叶之前还是之后访问它都无关紧要

如果有一棵树中有重复的元素呢?如果插入策略是接受大于或等于根节点的任何元素,则它们将显示为右侧的退化树:

 A
  \
   A
    \
     A
      \
       A
如果它小于或等于根节点,则仍然会有一个退化树,但在左侧


现在,如果您的插入策略是丢弃重复的元素,那么您将只剩下singleton情况,它仍然具有导致相同元素的前序和后序遍历。

您有一个假设吗?谢谢,因此在一种情况下,前序和后序是相同的。如果“左或右”等于“根”?还有其他例外吗?只有当有一个节点时,left才等于root。谢谢,对不起,我不能为你们两个投票。如果我们有三个相同的元素:A1,A2,A3;预购:A1 A2 A3;邮购:A3 A2 A1;两者都相同从节点检索的值将相同,但您正在访问不同的节点以获取值。这取决于你希望你的树有什么用途
    A
        C
 A
  \
   A
    \
     A
      \
       A