数据结构之二叉树的遍历
1.先序遍历
若二叉树为空,则空操作,否则:
(1)先访问根节点
(2)先序遍历左子树,然后遍历右子树
void Preorder ( BiTree T, void( *visit)(TElemType& e) ) { // 先序遍历二叉树 if (T) { visit(T->data); // 访问结点 Preorder(T->lchild, visit); // 遍历左子树 Preorder(T->rchild, visit);// 遍历右子树 } }
2.中序遍历
若二叉树为空树,则空操作,否则:
(1)中序遍历左子树
(2)访问根节点
(3)中序遍历右子树
3.后序遍历
若二叉树为空,则控操作,否则:
(1)后序遍历左子树
(2)后序遍历右子树
(3)最后遍历根节点