内容摘自计蒜客:http://www.jisuanke.com/course/35/7051
我们都知道植物界里的森林,是由许多棵树组成的,就像下面这张图:
在数据结构里,森林是由若干棵互不相交的树组成的。下图就是一个由两棵树组成的森林。两棵树之间分别独立,没有交集。
森林有两种遍历方法,分别是先序遍历和后序遍历。请注意,森林是没有和树的中序遍历对应的遍历方法的,因为中序遍历只存在于二叉树中,而森林中的树都是一般树,无法区分左右孩子,自然也就无法进行中序遍历了。注意,不同教材在介绍森林的遍历方法时会有不同的表述,有些教材会将后序遍历称为中序遍历,但实质上遍历方法是一样的。
森林的先序遍历的规则:
访问森林中第一棵树的根结点
先序遍历森林中第一棵树的子树森林
先序遍历森林中,除第一棵树外其余树构成的森林
森林的后序遍历的规则:
后序遍历森林中第一棵树的根结点的各子树所构成的森林
访问森林中第一棵树的根结点
后序遍历森林中除第一棵树外其余树构成的森林