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

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

①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

 

 

 

 

 

  • 13
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ZYT_庄彦涛

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

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

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

打赏作者

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

抵扣说明:

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

余额充值