下面这个树 我们来看看它的先序
步骤: 先序访问树的核心是从根节点–>左子树–>右子树 这个规范来的
A 访问根节点
B 递归处理A的左子树
C 递归处理B的左子树
D 递归处理C的左子树
此时发现D没有左子树,不需要继续递归
同时D没有右子树,这个树就完成了
回到C这个树中,C这个树根处理完成,左子树处理完成,该处理右子树了
C没有右子树,回到B中,B的根 左子树处理完成,该处理右子树
B没有右子树,回到A中,此时此刻A的根节点,左子树全部处理完成,该处理A的右子树了
E 递归处理E这个子树,先访问根节点E,再去处理E的左子树 发现E没有左子树,再去处理E的右子树
F 访问E的右子树,E的右子树是F,访问F的根节点
G 访问F的左子树,F的左子树是G,访问G的根节点
访问G的左子树,G没有左子树,访问E的右子树,E没有右子树,G访问完成 回到F
H 此时F的左子树访问完成,去访问右子树,右子树是H,H是根节点,
访问H的左子树,H没有左子树,访问H的右子树,H没有右子树.F处理完毕
此时此刻A的右子树处理完毕,树也就处理完毕.
结果:ABCDEFGH
核心代码:
画图解释:
一系列递归过程如上(有些乱哈)