二叉树的遍历方法有多种,最常用的有中序遍历、先序遍历和后序遍历。毫无例外,这三种遍历方法都是基于递归/迭代的思想
为了更好的说明三种遍历,结合图片。
假设现在存在{1,3,5,7,9,2,4,6,8,10}的一个完全二叉树
中序遍历:遍历时先尝试访问当前结点的左子结点,如果左子结点不存在,则读取当前结点的数据,然后再访问当前结点的右子结点。
对应的遍历结果是:6 7 8 3 10 9 1 2 5 4
先序遍历:遍历时先读取当前结点的数据,然后在访问当前结点左子结点。仅当左子结点不存在,则访问右子结点
对应的遍历结果是:1 3 7 6 8 9 10 5 2 4
后序遍历:遍历时先访问当前结点的左子结点,当左子结点不存在时,访问右子结点。当且仅当右子结点也不存在时,读取当前结点数据
对应遍历结果是:6 8 7 10 9 3 2 4 5 1
本文截取自:http://blog.kingsamchen.com/archives/567