已知前/后序、中序,画出树的示意图

前序(根 - 左 - 右)

中序(左 - 根 - 右)

后序(左 - 右 - 根)

① 已知前序和中序

例:已知:

前序遍历序列:E F H I G J K

中序遍历序列:H F I E J K G

求后序。

①、前序的第一个为根结点

        前序(根 左 右):E F H I G J K。根结点为E。

②、根据根结点E和中序,判断根结点E的左右子树。

        中序(左 根 右):H F I E J K G

③、在前序中找到左右子树。(这里用下划线区分)

        前序(根 左 右):E F H I  G J K

        由于前序的特点“根 - 左 - 右”,下划线的第一个就是子树的根结点

        前序(根 左 右):E F H I  G J K

④、根据③判断出的E的左右子树的根结点F、G,判断F、G的左右子树。

        中序(左 根 右):H F I E J K G

        由于中序的特点“左 - 根 - 右”,H - F - I,F的左是H,右是I;G的左子树是J、K。

        根据前序(根 左 右):...G J K下划线的第一个就是子树的根结点,所以J是G左子树的根结点。

        根据中序(左 根 右):...J K G,左 - 根 - 右,(左) - J - K,所以J的右结点是K。

注意:

后序与前序的区别:下划线的第一个 / 最后一个为根结点

判断根结点,用“前序/后序”。“下划线的第一个/最后一个为根结点”

判断左右子树,用“中序”。“左 - 根 - 右”

② 已知后序和中序

基本同理 ①,参见“注意”,这里略。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值