二叉树的先序、中序、后序三种遍历
先序遍历是指在遍历二叉树时先访问根结点,然后访问左子树,最后访问右子树。
// 二叉树先序遍历
void PreOrder(BTNode* T)
{
if (BT == NULL) {
printf("NULL");
return;
}
printf("%c ", T->data);
PreOrder(T->lchild);
PreOrder(T->rchild);
}
中序遍历是指在遍历二叉树时先访问左子树,然后访问根结点,最后访问右子树。
// 二叉树中序遍历
void InOrder(BTNode* T)
{
if (T == NULL) {
printf("NULL");
return;
}
InOrder(T->lchild);
printf("%c ", T->data);
InOrder(T->rchild);
}
后序遍历是指在遍历二叉树时先访问树的左子树,然后访问右子树,最后访问根结点。
// 二叉树后序遍历
void PostOrder(BTNode* T)
{
if (T == NULL) {
printf("NULL");
return;
}
PostOrder(T->lchild);
PostOrder(T->rchild);
printf("%c ", T->data);
}