二叉树中前序 中序 后序的互推

本文主要探讨了二叉树的前序、中序、后序遍历之间的互推关系。通过前序和中序遍历可以重建二叉树的后序遍历,反之亦然。然而,仅凭前序和后序遍历无法确定中序遍历,因为无法区分左子树和右子树。文章以递归思想为基础,提供了具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近开始复习数据结构,就从二叉树开始吧

1.复习前序 中序 后序
结构:
前序:根(左子树)(右子树)
中序:(左子树)根 (右子树)
后序:(左子树)(右子树)根
2. 前序+中序->后序
由于前序的结构,第一个是根,中序中根的位置是介于左子树和右子树,所以我们可以通过前序获得根,通过中序将二叉树分裂,由于后序中的根在最后一个,所以我们可以通过先左后右依次将分裂到最小的树的根存储即可,所有这明显是个递归思想,看代码吧
样例:
前序:BAGCDZHKX
中序:ACGDBHZKX

#include<bits/stdc++.h>
using namespace std;
string qian,zhong;
int j=0;
char houxu[1000];
void hou(int gen,int start,int end){
   
  if(start>ends)//判断退出的条件
  return;
  int i;
  i=zhong.find(qian[gen]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值