当我们在建好一颗树之后,都想知道这么一长串的代码到底有没有问题呢?
这个时候只要我们能够把这颗树给打印出来就能立马知晓了。
首先来说说前序遍历,起始所谓的前序,中序,后序。这些都是相对于父节点来说的,
如果是先打印父节点那么就是先序,以此类推中序就是在中间的位置打印父节点,那么后序就是在最后打印父节点。
从树根开始,先打印然后往下递归打印,每次被传进去的就相当于是个新的父节点,如code所显示,我先是往左子树进行的递归,当我一路往左走到底时,就会return回来。然后再去找右子树打印。
中序就是当我吧树根穿进去后我先不打印,先进行往左子树的递归,然后一直到左子树尽头后开始return往回打印,然后到中间的树根,最后去打印树根的右子树。
后序就是在我左子树,右子树统统都到底了,return回来后开始打印,最后才回到树根并打印。
这里我发现的一个小技巧,就是cout<<输出语句,在你写的两个递归语句的最上边就是先序(先打印),两者中间就是中序,两者的后面就是后序打印。(当然我只是小菜鸟,这些只是我发现的一些小东西)有哪里说不对的还请大佬指正。
感谢。