主题:关于二叉树的递归遍历问题
看到数据结构书上的二叉树遍历算法,以先序遍历来说:
void preorder(Btree *p)
{
if(p!=Null)
{ printf("%c",p->data);
preorder(p->lchild);
preorder(p->rchild);
}
}
不知道这怎么就可以遍历整个二叉树,我画了图,在纸上根据算法在一步一步的写,但是就是不能得到整个结果,总是在某一个叶子节点就结束,而没办法写下一个结点的数据,不知道递归遍历这个算法应该怎么看
论坛的朋友们知道的话请帮我解释一下,谢谢了
void preorder(Btree *p)
{
if(p!=Null)
{ printf("%c",p->data);
preorder(p->lchild);
preorder(p->rchild);
}
}
不知道这怎么就可以遍历整个二叉树,我画了图,在纸上根据算法在一步一步的写,但是就是不能得到整个结果,总是在某一个叶子节点就结束,而没办法写下一个结点的数据,不知道递归遍历这个算法应该怎么看
论坛的朋友们知道的话请帮我解释一下,谢谢了