PTA 天梯赛练习 7-10 树的遍历(25 分)

本文介绍了如何根据二叉树的后序和中序遍历序列建立二叉树,并输出层次遍历序列。解题思路包括递归方法、广度优先搜索(BFS)以及两种遍历序列的不同构建方式。示例展示了具体输入输出格式,并提到了关键点如子树长度和节点添加顺序。
摘要由CSDN通过智能技术生成

PTA 天梯赛练习 7-10 树的遍历(25 分)

由树的后序遍历序列和中序遍历序列建立一颗二叉树并输出其层次遍历结果
题目连接
7-10 树的遍历(25 分)
给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。
输入格式:

输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。
输出格式:

在一行中输出该树的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。
输入样例:

7
2 3 1 5 7 6 4
1 2 3 4 5 6 7
输出样例:

4 1 6 3 5 7 2

解题思路
1.树的建立,遍历以及其他操作普遍用到递归的方法(树的定义就是递归定义的,所以性质决定方法)
2.层次遍历显然用广搜
3.前中序建立则从前向后【由前序序列从前向后确定树的每个节点】(先左子树后右子树)
注:由先序序列和中序序列建立方法见下一篇博客。
4.中后序建立则从后向前【由后序序列从后向前确定树的每个节点】(先右子树后左子树)
5.最重要的有两点:一是左右子树的长度,二是每次加入树的结点数组下标
在中后序建立时直接通过下标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值