其他分享
首页 > 其他分享> > [NOIP2001 普及组] 求先序排列

[NOIP2001 普及组] 求先序排列

作者:互联网

试题分析:题目中提及了树的先序,中序,后序排列,所以我们需要先知道这三种排列是什么意思。

二叉树的3种(深度优先)排列:

先序排列,“根左右”。即对于二叉树的每一个子树,先访问其根,再分别遍历其左右儿子(子树)。

中序排列,“左根右”。即对于二叉树的每一个子树,先遍历其左儿子,再访问其根,然后遍历右儿子。

后序排列,“左右根”。即对于二叉树的每一个子树,先分别遍历其左右儿子,最后访问其根。

看完知识点,我们再来说思路,我们可以根据输入的后序排列来确定这个树的根结点。相同的,在后序排列中,子树的根就是它后序排列的最后一个字母。然后再带入到中序排列中,推出左子树与右子树。如果说子树中还有子树,那我们便要进行下一层的递归,直到递归到最后一个子树为止。

代码如下:

 

标签:普及,排列,NOIP2001,求先序,后序,中序,子树,二叉树,遍历
来源: https://www.cnblogs.com/xhklkmh/p/16586957.html