二叉树树的遍历
树的遍历和图的遍历
在计算机科学里,树的遍历指按照某种规则,不重复地访问树的所有节点的过程。具体的访问操作可能是检查节点的值、更新节点的值等。不同的遍历方式,其访问节点的顺序是不一样的。
因为树是图的一个子集,因此,树的遍历,也属于图遍历的子集。图遍历的原则主要有深度优先和广度优先两种。
这两大遍历原则对于树也同样适用。又因为有根树是树的一种,二叉树是有根树的一种,二叉树的遍历也分为深度优先和广度优先两种。
不过在实际应用中,对二叉树而言,深度优先用得更多。
下面我们具体讲一下二叉树的几种遍历方式。
二叉树的深度优先遍历算法
深度优先遍历二叉树的算法又有分为三种:先序遍历(Pre-Order Traversal),中序遍历(In-Order Traversal)和后序遍历(Post-Order Traversal)。
这里的先、中和后所指向的主体是什么呢?是根节点。
先、中、后序遍历实际上是先根序,中根序和后根序遍历。
这三种算法的区别就在于:在访问一棵树的时候,是先访问根节点,在“半截/中间”访问根节点,