今天我们主要介绍二叉树的遍历算法,在开始正文之前请首先思考一下下面这个问题:
问:若一颗二叉树的先序序列和后序序列正好相反, 该二叉树的形态是什么?
答案:文末揭晓
一二叉树的四种遍历方法二叉树的遍历是指按照一定次序访问树中所有节点,并且每个节点仅被访问一次的过程。下面我们介绍四种遍历二叉树的方法:
先序遍历先序遍历二叉树的过程是:
访问根节点;
先序遍历左子树;
先序遍历右子树;
先序遍历的递归算法:
void PreOrder(BTNode *b)
{ if (b!=NULL)
{ printf("%c ",b->data); // 访问根节点
PreOrder(b->lchild);
PreOrder(b->rchild);
}
}
中序遍历
中序遍历二叉树的过程是:
中序遍历左子树;
访问根节点;
中序遍历右子树;