【问题标题】:inorder and postorder traversal中序和后序遍历
【发布时间】:2015-02-02 19:43:14
【问题描述】:

比方说,在父母之前按顺序和后序拜访孩子有什么意义?我了解中序、前序和后序遍历只是表示树的一种方式。我对么?

【问题讨论】:

  • 您好,能否接受我的回答,谢谢。

标签: depth-first-search inorder postorder


【解决方案1】:

按顺序、后序和前序不是表示树的方法,而是遍历树的方法。有趣的是选择一种遍历而不是另一种遍历的原因。

前序遍历对于复制节点和边以完全复制二叉树非常有用。它们也可用于制作前缀表达式(来自表达式树。

在删除节点和值时使用后序遍历可以删除整个二叉树。同样,它们也可以生成二叉树的后缀表示。

最后,中序遍历对于二叉搜索树很有用,因为它们按顺序从底层集合返回值。

【讨论】:

    【解决方案2】:

    Pre-orderIn-orderPost-order遍历一棵树的三种方式. 以上三种遍历都属于深度优先遍历。

    以下图为例:

    深度优先预购遵循节点 -> Left_Child -> Right-Child 约定。如果你在我们当前的例子中使用它,你应该得到:

    A、B、D、E、C

    Depth First In-Order 遍历遵循 Left-Child -> Node -> Right-Child 约定。它看起来像这样:

    D、B、E、A、C

    Depth First Post-Order 遍历遵循 Left-Node -> Right-Node -> Node 约定。看起来是这样的:

    D、E、B、C、A

    Breadth First Level-Order 遍历,是一种从根节点开始的遍历,从左到右向下遍历树的每一级读取节点。 它看起来像这样:

    A、B、C、D、E

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-01
      • 2018-09-09
      • 2013-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多