求先序遍历、后序遍历

根据定理来说不需要建树,直接可输出求先序遍历 洛谷P1030题目描述给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度\le 8≤8)。sample inputBADCBDCAsample outputABCD代码片#include<bits/stdc++.h>using namespace std;string s1...
摘要由CSDN通过智能技术生成

根据定理来说不需要建树,直接可输出

求先序遍历 洛谷P1030
题目描述

给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度\le 8≤8)。

sample input
BADC
BDCA
sample output
ABCD
代码片
#include<bits/stdc++.h>
using namespace std;

string s1,s2; //s2记录中序遍历,s1记录后序遍历
int n;

void build(int x, int s, int e) {
   
	for(int i=s; i<=e; i++ ) {
   
		if ( s1[x]==s2[i] ) {
   
			cout<<s1[x];
			build(x-e+i-1,s
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 、中和后都是二叉树遍的方法,它们的区别在于访问根节点的顺和访问左右子树的顺不同。 1. 的访问顺是:根节点 -> 左子树 -> 右子树。 例如,对于下面这棵二叉树: ``` 1 / \ 2 3 / \ / \ 4 5 6 7 ``` 其列为:1 2 4 5 3 6 7。 2. 中的访问顺是:左子树 -> 根节点 -> 右子树。 例如,对于下面这棵二叉树: ``` 1 / \ 2 3 / \ / \ 4 5 6 7 ``` 其中列为:4 2 5 1 6 3 7。 3. 后的访问顺是:左子树 -> 右子树 -> 根节点。 例如,对于下面这棵二叉树: ``` 1 / \ 2 3 / \ / \ 4 5 6 7 ``` 其后列为:4 5 2 6 7 3 1。 希望这个回答能够解决您的疑惑。 ### 回答2: 、中和后是二叉树的三种常见遍方式。 访问根节点,然后遍左子树,最后遍右子树。在遍的过程中,根节点总是在左子树和右子树之前被访问到。 中左子树,然后访问根节点,最后遍右子树。在遍的过程中,根节点总是在左子树和右子树之间被访问到。 后左子树,然后遍右子树,最后访问根节点。在遍的过程中,根节点总是在左子树和右子树之后被访问到。 以一个简单的二叉树为例,如下所示: A / \ B C / \ \ D E F :A -> B -> D -> E -> C -> F 中:D -> B -> E -> A -> C -> F 后:D -> E -> B -> F -> C -> A 其中,的访问顺是根节点->左子树->右子树,中的访问顺是左子树->根节点->右子树,后的访问顺是左子树->右子树->根节点。 这三种遍方式都有自己的应用场景。常用于打印表达式,中常用于二叉搜索树的中输出,后常用于计算二叉树的表达式。 总之,、中和后是对二叉树的不同遍,每种遍方式都有自己的特点和应用场景。 ### 回答3: 、中和后都是二叉树遍的方法。下面分别对这三种遍进行简单的说明。 是指从根节点开始,根节点,然后按照的顺,递归遍左子树和右子树。具体步骤如下:输出根节点,然后递归遍左子树,最后递归遍右子树。 中是指从根节点开始,递归遍左子树,然后输出根节点,最后再递归遍右子树。具体步骤如下:递归遍左子树,然后输出根节点,最后递归遍右子树。 后是指从根节点开始,递归遍左子树,然后递归遍右子树,最后输出根节点。具体步骤如下:递归遍左子树,然后递归遍右子树,最后输出根节点。 这三种遍方法都是通过递归的方式实现的,其中和中的次不同,而后的次更为靠后。不同的遍方式可以帮助我们了解二叉树结构的不同特点,如可以轻松找到二叉树的根节点,中可以输出二叉树的有节点列,后可以方便地进行二叉树的删除操作。 总结起来,和后都是二叉树遍的方法,只不过它们的递归次不同。熟练掌握这三种遍方式可以帮助我们更好地理解二叉树的结构和特点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值