现在有这样一颗二叉树:
image.png
先序遍历
思路与代码
按照:本节点,左子树,右子树 的顺序遍历
void PriorOrder(BTNode* b)
{
if(b)
{
printf("%c", b->data);
PriorOrder(b->lchild);
PriorOrder(b->rchild);
}
}
过程分析
一开始,我们会先遍历最顶上的树(红色方框内)
这个数的三个部分:根节点,左子树,右子树,分别由蓝色方框圈起来
我们首先访问本节点A,然后访问左子树,也就是蓝色方框内的左边的整体
image.png
image.png
现在单独把左子树提出来看,也是一样的方法:先访问B,然后访问左节点,D,然后再访问右子树。