[NOIP2001 普及组] 求先序排列


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

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

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

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

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

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

代码如下:

[NOIP2001 普及组] 求先序排列

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/280654.html

(0)
上一篇 2022年8月15日
下一篇 2022年8月15日

相关推荐

发表回复

登录后才能评论