6.7.1 树的遍历

  和二叉树的遍历类似,树的遍历问题亦为,从根结点出发,对树中各个结点进行一次且仅进行一次访问。

  对树进行遍历可有两条搜索路径:一条是从左到右(这里的左右指的是在存储结构中自然形成的子树之间的次序),另一条是按层次从上到下。

  树的按层次遍历类似于二叉树的按层次遍历,例如对上节讨论存储结构的树进行按层次遍历所得结点先后被访问的次序的为:ABCDEFGHIJK。

  对树进行从左到右遍历的搜索路径如右图所示。类似于二叉树,在这条搜索路径上途径根结点两次,由对根的访问时机不同可得下列两个算法:
 一、先根(次序)遍历树
  若树不空,则先访问根结点,然后依次从左到右先根遍历根的各棵子树;动画
 二、后根(次序)遍历树
  若树不空,则先依次从左到右后根遍历根的各棵子树,然后访问根结点;动画

  例如对右侧所示图进行先根遍历所得结点的访问序列为:ABEHIJCDFGK,动画 进行后根遍历所得结点的访问序列为:HIJEBCFKGDA。动画