二叉树的遍历--如何根据两种遍历推导出二叉树

      近期由于需要重拾数据结构,然后就遇到了二叉树的遍历,众所周知,二叉树的遍历有三种:先序、中序和后序。根据其中两种遍历顺序的组合基本就可以推导出原来二叉树的样子(排除个别特殊的先序和后序的组合)。

  下面我们就来总结下如何推导。

<一>先序和中序

  个人觉得只要给出的遍历顺序有先序就很好办,按照先序的顺序逐个安排下元素的位置(以先为主,辅以中序),基本图形就出来。下面举个例子吧:

  (1)先序:-+a*b-cd/ef  中序:a+b*c-d-e/f

  首先根节点一定是-,然后看-在中序中不是最后,说明-既有左子树也有右子树,那么+就是-的左孩子,然后就是a,a在中序中在+的左边,所以a是+的左孩子,

<二>中序和后序

  (1)中序:DBGEHJACIF  后序:DGJHEBIFCA

算了,看完有空再一起整理

原文地址:https://www.cnblogs.com/zidiancao/p/3621859.html