二叉树的遍历算法例题(有关二叉树遍历的题目)
- 软件开发
- 2023-08-13
- 427
其实二叉树的遍历算法例题的问题并不复杂,但是又很多的朋友都不太了解有关二叉树遍历的题目,因此呢,今天小编就来为大家分享二叉树的遍历算法例题的一些知识,希望可以帮助到大家...
其实二叉树的遍历算法例题的问题并不复杂,但是又很多的朋友都不太了解有关二叉树遍历的题目,因此呢,今天小编就来为大家分享二叉树的遍历算法例题的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
二叉树中序遍历的结果
根据已知的中序和后序,可以确定根结点A和左子树:BDCE右子树:FHG然后再确定左子树的中序BDCE和后序DECB确定左子树的根结点为B,右子树的中序FHG后序HGF确定右子树根结点为F,再确定左子树的左子树及右子树的右子树这样递归下去直到所有的结点!
已知某二叉树的先序遍历序列为CEDBA,中序遍历序列为DEBAC,则它的后序遍历序列为
DABECC是根节点,E是左儿子,D,B分别是E的左右儿子,A是B的右儿子。
某二叉树的前序遍历节点访问顺序是abdgcefh中序遍历节点访问顺序是dgbaechf则其后序遍历的节点访问顺序
嗯,你第一步的划分是正确的a为根,dgb为左子树,echf为右子树接下来看左子树的前序遍历为bdgb首先被访问可以知道b为左子树的根,与a相连再看左子树的中序遍历dgbd和g都在b之前就被访问所以b和g应该在b的左子树上形状如下---a--/--b-/dg而dg的确定再根据前序遍历d先被访问则d为根再看中序遍历也是d先被访问可以确定g为d的右子树左边就可以确定出来了如果上面看懂了右边就很简单,一样的道理前序遍历cefh确定c为右子树的根再看中序遍历echfe为c的左子树,hf为c的右子树hf的确定在看前序遍历f先被访问f为根中序遍历h先被访问h为f的左子树整棵树就出来了如下图在做后序就是小菜一碟了
二叉树的中序遍历
一、中序遍历可以想象成,按树画好的左右位置投影下来就可以了中序遍历结果:HDIBEJAFKCG
二、二叉树还有其他三种遍历
1、先序遍历
先序遍历可以想象成,小人从树根开始绕着整棵树的外围转一圈,经过结点的顺序就是先序遍历的顺序先序遍历结果:ABDHIEJCFKG
2、后序遍历
后序遍历就像是剪葡萄,我们要把一串葡萄剪成一颗一颗的。还记得我们先序遍历绕圈的路线么?就是围着树的外围绕一圈,如果发现一剪刀就能剪下的葡萄(必须是一颗葡萄),就把它剪下来,组成的就是后序遍历了。后序遍历结果:HIDJEBKFGCA
3、层序遍历
层序遍历太简单了,就是按照一层一层的顺序,从左到右写下来就行了。后序遍历结果:ABCDEFGHIJK
已知二叉树的中序遍历结果为DBHEAFICG,后序遍历结果为DHEBIFGCA,试画出该二叉树,并求其前序遍列序列
--------------------A
---------------B----------C
----------D---------E--F--------G
------------------H-------I
前序为ABDEHCFIG
一棵二叉树的前序遍历结果是ABCEDF,中序遍历结果是CBAEDF,则其后序遍历的结果是
二叉树是:A/\BE/\CD\F所以后序遍历是:CBFDEA
关于二叉树的遍历算法例题和有关二叉树遍历的题目的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
本文链接:http://xinin56.com/ruanjian/1008.html