二叉树遍历问题(前序,中序,后序)

衣剑封侯2022-10-04 11:39:541条回答

二叉树遍历问题(前序,中序,后序)
a
/
b c
/ /
e f g
思想方法

已提交,审核后显示!提交回复

共1条回复
恋上伤痕 共回答了18个问题 | 采纳率94.4%
前序遍历(DLR)
前序遍历也叫做先根遍历,可记做根左右.
前序遍历首先访问根结点然后遍历左子树,最后遍历右子树.在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树.
若二叉树为空则结束返回,否则:
(1)访问根结点
(2)前序遍历左子树
(3)前序遍历右子树
注意的是:遍历左右子树时仍然采用前序遍历方法.
中序遍历(LDR)
中序遍历也叫做中根遍历,可记做左根右.
中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树.在遍历左、右子树时,仍然先遍历左子树,再访问根结点,最后遍历右子树.即:
若二叉树为空则结束返回,否则:
(1)中序遍历左子树
(2)访问根结点
(3)中序遍历右子树.
注意的是:遍历左右子树时仍然采用中序遍历方法.
后序遍历(LRD)
后序遍历也叫做后根遍历,可记做左右根.
后序遍历首先遍历左子树,然后遍历右子树,最后访问根结点.在遍历左、右子树时,仍然先遍历左子树,再遍历右子树,最后访问根结点.即:
若二叉树为空则结束返回,否则:
(1)后序遍历左子树.
(2)后序遍历右子树.
(3)访问根结点.
注意的是:遍历左右子树时仍然采用后序遍历方法.
如上图所示二叉树
前序遍历,也叫先根遍历,遍历的顺序是,根,左子树,右子树
遍历结果:a,b,e,f,c,g
中序遍历,也叫中根遍历,顺序是 左子树,根,右子树
遍历结果:e,b,f,a,g,c
后序遍历,也叫后根遍历,遍历顺序,左子树,右子树,根
遍历结果:e,f,b,g,c,a
1年前

相关推荐

数据结构理论,一头雾水下列关于二叉树遍历的叙述中,正确的是( A ) 。 A. 若一个树叶是某二叉树的中序遍历的最后一个
数据结构理论,一头雾水
下列关于二叉树遍历的叙述中,正确的是( A ) 。
A. 若一个树叶是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序
遍历最后一个结点
B若一个点是某二叉树的前序遍历最后一个结点,则它必是该二叉树的中序遍历
的最后一个结点
C若一个结点是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序
最后一个结点
D若一个树叶是某二叉树的前序最后一个结点,则它必是该二叉树的中序遍历最
后一个结点
能不能每个选项给个图解,实在是乱了
王飞1年前1
红黑再现 共回答了14个问题 | 采纳率78.6%
这几个选项的关键是其中说的节点是否是叶子节点
A A
/
B B
A如果叶子节点在中序遍历是最后一个,那么这个叶子节点肯定是右孩子,所以在前序遍历中也是最后一个节点
B,D节点如果是前序遍历最后一个节点,则肯定是个孩子节点,但不知道这个节点是左孩子还是右孩子,这样就不能确认中序遍历中的位置了
C 节点如果是中序遍历最后一个节点,则不知道这个节点是个内节点还是一个右孩子,所以不能确定前序遍历位置