树向导方法是一种系统访问树数据结构中所有节点的技术。理解这些方法对于搜索、排序和表达式评价等各种应用至关重要。此文章将三种主要的向导方法:前序、后序和后序,与实际计算来说明它们之间的差异。

预序扭矩

序式 traversal 先访问根节点,然后递归性地穿过左子树,然后是右子树。这种方法对于复制树或创建前缀表达式是有用的 。

例如,给树:

A
/
B C
/
D E F

序序的转录顺序为:A,B,D,E,C,F.

顺序偏移

顺序 traversal 先访问左子树,然后是根节点,最后是右子树。这种方法通常用于二进制搜索树,以按排序顺序检索数据 。

使用同一树,不规则的转动序列为:D,B,E,A,C,F.

后序倾斜

后序转录访问左子树,然后是右子树,最后是根节点。这种方法对于删除树或评价后缀表达式很有用 。

例如树,后序转录序列为:D,E,B,F,C,A.

实际计算

想想这棵树:

1
/
] 2 3
/
4 5 6

序向转弯:1,2,4,5,3,6

线性转弯: 4, 2, 5, 1, 3, 6

后序转弯:4、5、2、6、3、1