1.什么叫遍历?
- 遍历(Traversal):是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问题。遍历是二叉树上最重要的运算之一,是二叉树上进行其它运算的基础。
2.二叉树递归算法遍历的算法与实现
- 从二叉树的递归定义可知,一棵非空的二叉树由根结点及左、右子树这三个基本部分组成。因此,在任一给定结点上,可以按某种次序执行三个操作:
- 访问结点本身(N),
- 遍历该结点的左子树(L),
- 遍历该结点的右子树(R)。
- NLR:前序遍历(PreorderTraversal亦称(先序遍历))
- LNR:中序遍历(InorderTraversal)
- LRN:后序遍历(PostorderTraversal)
3.以中序遍历为例实现二叉树遍历的伪代码
- void InOrder(BinTree T)
{
if(T)
{
InOrder(T->lchild);
printf("%c",T->data);
InOrder(T->rchild);
}
}
4.参考,关于二叉树的具体操作,可参考CSDN下面的这个blog http://blog.csdn.net/kingbox/article/details/1568850