一、二叉树的遍历
二叉树遍历的概念: 二叉树的遍历是指按照一定次序访问树中所有节点,并且每个节点仅被访问一次的过程。它是最基本的运算,是二叉树中所有其他运算的基础。
1. 先序遍历过程
先序遍历二叉树的过程是:① 访问根节点;②先序遍历左子树;③先序遍历右子树。
2. 中序遍历过程
中序遍历二叉树的过程是:① 中序遍历左子树;② 访问根节点;③中序遍历右子树。
3. 后序遍历过程
后序遍历二叉树的过程是: ①后序遍历左子树;②后序遍历右子树;③访问根节点。
4. 层次遍历过程
层次遍历二叉树的过程是: ①访问根节点(第1层)②按照从上到下、从左往右访问第2到第h层所有节点
二、二叉树遍历递归算法
1. 先序遍历的递归算法:
void PreOrder(BTNode *b){ if (b!=NULL)
{ printf("%c ",b->data); //访问根节点
PreOrder(b->lchild);
PreOrder(b->rchild);
}
}
2. 中序遍历的递归算法: