首页 热点专区 小学知识 中学知识 出国留学 考研考公
您的当前位置:首页正文

二叉树之前序,中序,排序遍历

2024-12-08 来源:要发发知识网

前序、中序、后序遍历有各自的特性,这个特性主要都是根据根节点的位置来判断的。

  • 前序遍历
    首先遍历根节点,然后遍历左子树,最后遍历右子树。
  • 中序遍历
    首先访问左子树,然后访问根节点,最后访问右子树。
  • 后序遍历
    首先访问左子树,然后访问右子树,最后访问根节点
    由上面的访问顺序,我们看出所谓的前序遍历,中序遍历,后序遍历都是根据根节点出现的位置来判断的。那么我们通常会遇到这样一类问题,给你前序遍历和中序遍历,或者后序遍历和中序遍历,让你画出这棵树。这个就要根据我们前序,中序,后序的特点来判断了。
    比如:已知
    前序遍历:GDAFEMHZ
    中序遍历:ADEFGHMZ

    我们来具体分析一下:
  1. 根据前序遍历的特点,我们知道G为根节点。然后根据中序排列,我们知道ADEF一定是根节点G左子树相关的结点,HMZ一定是根节点右子树相关的结点。我们大概画出这棵树:


    图片.png
  2. 然后继续判断ADEF的树结构。我们从前序遍历知道D一定为根节点,从中序排列ADEF知道,A一定为左子树相关结点,EF一定为右子树相关结点。大概画出这棵树:


    图片.png

    3.然后继续判断EF的树结构。我们从前序遍历知道F一定为根节点,从中序排列EF知道,E一定是根节点F的左子树相关结点,而根节点F没有任何右子树结点。大概画出这棵树:


    图片.png
    4.根节点G左子树相关的树已经形成了,我们再来看看右子树相关的HMZ。从前序遍历知道M一定是根节点,从中序遍历知道H一定是根节点M的左子树,Z一定是根节点M的右子树。大概画出这棵树:
    图片.png

    到此为止,我们这棵树就形成了。
    其实如果给出中序遍历和后序遍历,过程也是一样分析的。

显示全文