淘先锋技术网

首页 1 2 3 4 5 6 7

一棵二叉树的中序遍历序列为?

不知道你理解前,中,后序遍历的概念没?

前序遍历又叫先根遍历,就是先访问根再访问左子树再访问右子树。

中序就是先访问左子树再访问根再是右子树。

后根就是先访问左子树然后是右子树最后是根。

简单的讲就是,你看后序遍历序列为:GDBEHFCA,最后一个是A,说明A是根。然后再去看中序遍历序列为:DGBAECHF,看到A在中间,把DGBAECHF分成DGB和ECHF两部分,好,现在单独看这两个子树,左子树DGB和右子树ECHF。

同样后序遍历序列GDBEHFCA中,找到DGB这三个字母,发现它是这样排列的,GDB,因为它是后跟遍历,所以子树DGB的根是B,这时候,你通过观察中序的DGB和后序的GDB,发现中序的右边没有东西,所以得出:子树GDB没有右支。同样的道理,发现子树ECHF的根是C,左子树只有E,右子树是HF。

像这样一步步分析

那么结论就是前序遍历是ABDGCEFH。

你最好能画个图就好理解多了。

图给你画了,有点丑,凑合看吧,呵呵。

java遍历Tree,一棵二叉树的中序遍历序列为