设一棵二叉树的中序遍历结果为DBEAFC,前序遍历的结果为ABDECF,则后序遍历结果为
6个回答
展开全部
中序遍历:首先遍历左子树,然后访问根结点,最后遍历右子树;前序遍历:首先访问根结点,然后遍历左子树,最后遍历右子树;后序遍历:首先遍历左子树,然后遍历右子树,最后访问根结点。因此,后序遍历的结果为DEBFCA。
后序遍历有递归算法和非递归算法两种。在二叉树中,先左后右再根,即首先遍历左子树,然后遍历右子树,最后访问根结点。
后序遍历的非递归算法是三种顺序中最复杂的,原因在于,后序遍历是先访问左、右子树,再访问根节点,而在非递归算法中,利用栈回退到时,并不知道是从左子树回退到根节点,还是从右子树回退到根节点。
如果从左子树回退到根节点,此时就应该去访问右子树,而如果从右子树回退到根节点,此时就应该访问根节点。所以相比前序和后序,必须得在压栈时添加信息,以便在退栈时可以知道是从左子树返回,还是从右子树返回进而决定下一步的操作。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
依据前序遍历序列可确定根结点为A;再依据中序遍历序列可知其左子树由DBE构成,右子树为FC;又由左子树的前序遍历序列可知其根结点为B,由中序遍历序列可知其左子树为D,右子树由E构成......
同理推算FC的排列顺序,在草稿纸上画出树的结构,再自己写写后序遍历吧!
同理推算FC的排列顺序,在草稿纸上画出树的结构,再自己写写后序遍历吧!
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是没搞明白三种遍历是怎么回事,先从哪开始从哪结束.
先序:根-左子-右子
中序:左子-根-右子
后序:左子-右子-根
这个方法推广到整个二叉树,
下点功夫研究一下吧.这个不会进不了软件公司.
先序:根-左子-右子
中序:左子-根-右子
后序:左子-右子-根
这个方法推广到整个二叉树,
下点功夫研究一下吧.这个不会进不了软件公司.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2019-11-20
展开全部
答案是DEBFCA
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询