二叉树的前序,中序,后续遍历[由树写遍历结果]

正文

1,先序遍历

二叉树的先序遍历其实挺简单的,可以看成从根节点开始逆时针描绘整个二叉树结构的轮廓.
31.jpeg
如图:按照逆时针的顺序从根节点画出轮廓,根据这个路径出现的前后确定遍历后的结构,第二次遇到的就不算了
所以这个二叉树的先序遍历就是ABDHKECFIGJ

2,中序遍历

中序遍历我们采用投影法(适用于二叉树深度较小的,二叉树深度特别长的就直接交给程序去做了)。
投影法,又可以想象为把这颗二叉树压扁了,然后就逐个插缝。
32.jpeg
这个不好意思,我也找不到什么语言解释了。就是把二叉树每个节点投影下来。看看这个图,仔细思考一下,中序还是比较简单的。
这个二叉树的中序遍历就是HKDBEAIFCGJ

3,后续遍历

后续遍历的方法可以抽象的解释为摘葡萄。从左边开始摘,一次只能摘一颗,不能摘了这一颗然后掉了两颗葡萄,根节点是最后一个。而且先从左树的叶子节点开始(也就是最底层从左向右第一个叶子节点),然后一个节点的左子树完了,再弄一个节点的右节点。
上面这个二叉树先把K摘下来作为第一个,然后一直摘完D,这时候出现了一个问题,是先摘B还是E,答案是先摘E因为摘了B,就相当于摘了两颗葡萄,根的左子树摘完了就开始摘根的右子树,原理和上面一样。
最后的后续遍历结果就是KHDEBIFJGCA

结尾

数据结构一直是我大学时期比较掉头发的科目,我想通过这个博客,让一些同学少掉些头发哈哈哈。偷偷告诉你们,据说头发少的不好找女朋友呦!!!
感谢大家的阅读,只要动一下你的小手指在左下方给我点个赞,就是对我最大的鼓励。谢谢啦!!!

THE END