数据结构,C语言,如何利用递归先序遍历二叉树 ,算法已经给出,不知道原理

//先序遍历二叉树

void PreOrder(BiTree root)

{

//先序遍历二叉树root为指向二叉树跟结点的指针

if(root!=NULL)

{

Visit(root->data);//访问根结点

PreOrder(root->LChild);//先序遍历左子树

PreOrder(root->RChild);//先序遍历右子树

}

}

从整棵树的根节点出发,执行函数,访问根节点的值,然后递归调用,访问左子树,执行函数,访问左子树根节点的值,再递归调用,一直到叶子节点,不满足root!=NULL的条件,然后一层一层地返回,递归执行右子树遍历,就得到了先序遍历
温馨提示:答案为网友推荐,仅供参考
相似回答