有序树 有序树T1→二叉树T2 T1的前序就是T2的前序,T1的后序是T2的中序
7.2.1 遍历的概念
树的遍历是树的一种重要的运算。所谓遍历是指对树中所有结点的系统的访问,即按某种次序对树中每个结点访问一次且仅访问一次。
7.2.2 常用的3种最重要的遍历方式
它们分别称为前序遍历、中序遍历和后序遍历。以这3种方式遍历一棵树时,若按访问结点的先后次序将结点名排列起来,就分别得到树中所有结点名的前序列表,中序列表和后序列表。相应的结点次序就分别称为结点的前序、中序和后序。
7.2.3 有序树T的3种遍历方式的递归定义
如果T是一棵空树,那么对T进行前序遍历、中序遍历和后序遍历都是空操作,得到的列表都是空表。
如果T是一棵单结点树,那么对T进行前序遍历、中序遍历和后序遍历都只访问这个单结点,得到的相应的列表仅含此结点。否则,设T如图所示,那么
(1)对T进行前序遍历是先访问树根n,然后依次前序遍历T1,T2,…,Tk。
(2)对T进行中序遍历是先中序遍历T1,然后访问树根n,接着依次对T2,T3,…,Tk 进行中序遍历。
(3)对T进行后序遍历是先依次对T1,T2, …,Tk进行后序遍历,最后访问树根n。
7.2.4 举例
上图有序树的
前序列表:A B E F I J C D G H;
中序列表:E B I F J A C G D H;
后序列表:E I J F B C G H D A。