Tekson

禧之狼

博客园 首页 联系 订阅 管理

问     题:

若某二叉树的前遍历访问顺序是序abdgcefh,中序遍历顺序是dgbaechf,则后序遍历的访问顺序是什么。

解    答:

此题的解答过程如下:
(1)由前序遍历结果我们可知a为根结点,再看中序遍历结果,因为中序遍历顺序是左子树、根、右子树,因此由“中序遍历顺序是dgbaechf”可断定,dgb为该二叉树的左子树中序遍历结果,echf为右子树中序遍历结果。
(2)由前序遍历结果可知,左子树的前序遍历结果是bdg,右子树的前序遍历结果是cefh;因此,和第一步分析类似,可知b为左子树的根,再由“dgb 为该二叉树的左子树中序遍历结果”可知,dg为该左子树的左子树的中序遍历结果,再由dg在前序遍历结果中排列顺序dg可知,d为根,因此由“dg为该左 子树的左子树的中序遍历结果”可推出g为d的右孩子。
到此为止,可以完全推断出该二叉树的左子树的结构了。
按照同样方法,可以推断出该二叉树的右子树的结构,因此整个二叉树的结构图如下:
据此图,不难看出该二叉树的后序遍历结果是:gdbehfca.

宽度优先遍历,又称层序优先遍历, 遍历的顺序为:先遍历根结点,然后依次遍历根的孩子结点以及孩子结点的兄弟结点和堂兄弟结点,就这样一层层遍历下来,直到整个树都遍历完了为止,这里不便 发图,举个例子说吧,像是一个族谱,假设根是张三,从张三开始遍历,张三遍历完了后接着遍历张三的儿女,侄子侄女,外甥等,即他下一代的,在完了就是他的 孙儿孙女,这样一代代来,直至整个族谱都遍历完.

posted on 2009-10-05 00:45  珍宝老王  阅读(1556)  评论(0编辑  收藏  举报