一、什么是二叉树的遍历
所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问 题。 遍历是二叉树上最重要的运算之一,是二叉树上进行其它运算之基础。
二、二叉树遍历分类
遍历:前序遍历(Preorder):根节点----->左节点---->右节点
中序遍历(Inordef): 左节点----->根节点---->右节点
后序遍历(Postorder): 左节点----->右节点---->根节点
层次遍历(Levelorder): 每一层每一层的访问
以前序为例:以A为根节点是先访问A,再访问A的左子树B,此时B又是根节点,以B为根节点访问B的左子树C,再以C为根节点时,按照前序遍历,先根再左最后右的原则,又因为C的左右子树为NULL所以C节点访问完毕,此时B的左子树访问完毕,B作为根节点也访问完毕,这个时候就应该去访问B的右子树。。。以此类推便可得到二叉树前序。
三、二叉树的遍历实现
二叉树的遍历分为递归遍历和非递归遍历
本节介绍递归实现二叉树的前、中、后序遍历,非递归下节介绍
前序遍历:
中序遍历:
后序遍历: