很多朋友在刚开始接触二叉树时,对前序遍历,中序遍历,后序遍历这三个遍历方式不太了解,很多博客中,上来就是实现方式,并没有清晰的阐述这三种遍历的步骤和顺序,这里记录一下。
所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问 题。 遍历是二叉树上最重要的运算之一,是二叉树上进行其它运算之基础。
按照根节点位置的不同分为前序遍历,中序遍历,后序遍历。
前序遍历:根节点->左子树->右子树 中序遍历:左子树->根节点->右子树 后序遍历:左子树->右子树->根节点
注意:在做前序遍历时,左右子树也是按照前序遍历的顺序,
同理,在做中序遍历时,左右子树也是按照中序遍历的顺序,
同理,在做后序遍历时,左右子树也是按照后序遍历的顺序。
例1:求下面树的三种遍历
前序遍历:abdefgc 中序遍历:debgfac 后序遍历:edgfbca
例2:求下面树的三种遍历
前序遍历: A B D I J E K L Q C F M N G O P 中序遍历 I D J B K E Q L A M F N C O G P 后序遍历 I J D K Q L E B M N F O P G C A