关于根据先序遍历和中序遍历画二叉树的方法

这篇博客介绍了如何通过先序和中序遍历的两个定理(ZYT先序遍历定理和ZYT中序遍历定理)来构建二叉树。作者以实例讲解,通过分析给定的先序序列ABDFCEGH和中序序列BFDAGEHC,逐步展示了如何依据这两个定理确定二叉树的结构。最后,给出了构造出的二叉树的图形表示。

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

一些新同学在画二叉树时往往会摸不着头脑不知道怎么画,我也是刚刚学,接下来给你们提供我自己研究出来的两种定理,也欢迎各位对此批评指点:

①ZYT_先序遍历定理_前字母必比后字母平级或更高(能判断左右则不为同级)

②ZYT_中序遍历定理_前字母必在后字母左边


 

注:下面提到的由②可知即  由ZYT_中序遍历定理_前字母必在后字母左边  可知


如设一棵二叉树的先序序列:ABDFCEGH,中序序列BFDAGEHC,请画出这棵二叉树。

由先序遍历头字母可知根节点为A,

由中序遍历根节点A可得在左子树子孙(BFD),右子树子孙(GEHC),即

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAWllU77y_5bqE5b2m5rab,size_20,color_FFFFFF,t_70,g_se,x_16

 根据:

  1. ZYT_先序遍历定理_前字母必比后字母平级或更高(能判断左右则不为同级)
  2. ZYT_中序遍历定理_前字母必在后字母左边

 可得

   B一定在F和D的左边,故一定不为同级,即

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAWllU77y_5bqE5b2m5rab,size_20,color_FFFFFF,t_70,g_se,x_16

 

同理可知,F在D的左边,故一定不为同级,即

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAWllU77y_5bqE5b2m5rab,size_20,color_FFFFFF,t_70,g_se,x_16

 

 另一边的CEGH由先序遍历头结点字母可知右子树根节点为C

由②可知GEH必在C的左边,故一定不为同级,即

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAWllU77y_5bqE5b2m5rab,size_20,color_FFFFFF,t_70,g_se,x_16

 

EGH由先序遍历头字母可知该部分根节点为E

由②可知G必在E的左边,E必在H的左边。故为

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAWllU77y_5bqE5b2m5rab,size_20,color_FFFFFF,t_70,g_se,x_16

 

综合左右子树可得该棵二叉树:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAWllU77y_5bqE5b2m5rab,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZYT_庄彦涛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值