二叉树的前序中序后序遍历
二叉树的前序,中序,后序遍历
最近复习计算机导论,二叉树结构的题有一点点难,最主要的是书上讲的实在简单。
上网看了看大神的讲解和自己做题的理解,有一些小小心得,外加转载大神的方法。
先上要记好的
前序 根-左-右
中序 左-根-右
后序 左-右-根
前序
先遍历根节点,再遍历左子树,返回根节点,遍历右子树。(在遍历时会将遍历过得每个节点都当做新的根节点循环上面的步骤。)
引用大佬的话
一个小人从一棵二叉树根节点为起点,沿着二叉树外沿,逆时针走一圈回到根节点,路上遇到的元素顺序,就是先序遍历的结果

中序
先中序遍历该节点左子树,再遍历根节点,再遍历右子树(依然要把每个节点都当做根节点循环中序遍历一遍)
换句话就是
把左边的都弄完了再弄右边的
亦或是
中序遍历可以看成,二叉树每个节点,垂直方向投影下来(可以理解为每个节点从最左边开始垂直掉到地上),然后从左往右数,得出的结果便是中序遍历的结果

后序
后序先遍历左子树,再遍历右子树,再遍历根节点(依然把每个节点当做根节点再后序遍历)
后序遍历就像是剪葡萄,我们要把一串葡萄剪成一颗一颗的。
就是围着树的外围绕一圈,如果发现一剪刀就能剪下的葡萄(必须是一颗葡萄)(也就是葡萄要一个一个掉下来,不能一口气掉超过1个这样),就把它剪下来,组成的就是后序遍历了。

小技巧
自己总结的 以后有了再更
前序第一个必是根节点(最上面的根节点)
后序最后一个是根节点(最上面的根节点)
中序 在根节点前的在左 根节点后的在右

浙公网安备 33010602011771号