美文网首页算法
二叉树的用法 前序 中序 后序

二叉树的用法 前序 中序 后序

作者: 大斑马小斑马 | 来源:发表于2017-07-18 19:08 被阅读80次

    二叉树的用法 如何 根据二叉树写他的前序 中序 后续
    如何根据前序 中序 后续 还原 二叉树

    首先记住一点 前序 中序 后续 的排列顺序

      1.0  前序     根 ---->  左  ----->  右
      2.0  中序     左 ---->  根  ----->  右
      3.0  后序     左 ---->  右  ----->  根
    
    一个二叉树的前序遍历是AEFBGCDHIKJ,中序遍历是EFAGBCHKIJD,求此二叉树的后续遍历 ???
    网上关于这个是有答案的,但是 只知道答案 不知道原理 属于死记硬背 下面 我来说一下原理
      前序   AEFBGCDHIKJ         根 ----> 左  ----->  右
      中序   EFAGBCHKIJD         左 ----> 根  ----->  右
    

    通过文字描述的话 太麻烦 通过图片的话 也麻烦 咋办 怎样写 其实明白了 很简单 这个规律 我该如何告诉你们???
    我也得写下来记录一下 不然以后我就忘了

        
      前序   AEFBGCDHIKJ         根 ----> 左  ----->  右
      中序   EFAGBCHKIJD         左 ----> 根  ----->  右
    
    1.0  首先 A 为 根  我相信都没有异议(不懂的话 我也帮不了你)
    2.0  从前序考虑 前三个 根左右  A(根) E(左) F(右) 但是考虑一下中序 左根右  E(左) F(根)A(右)  A 肯定为根 所以  可以确定 A(根)  E(左)  F(右)
    

    越写越麻烦 根本没法写下去 这写下去 是人也会把你逼疯 真是蛋疼 我还想记录一下
    草 试了几种方式 还是没办法 最简单 最明了的说明
    不管了 我上传些图片 自己搞

    002.png

    直接写后序 不想搞了 我一步一步的写后序的排序 如果看得懂希望对你有帮助 如果看不懂我也没办法 太难搞了 看懂后序 前序 中序 你们就也懂了

    后续 左 ----> 右 ----> 根

    1.0     EBA
    2.0     FEBA
    3.0     FEGCBA
    4.0     FEGDCBA
    5.0     FEGHDCBA
    6.0     FEGIHDCBA
    7.0     FEGKJIHDCBA  (最终结果)
    

    前序 根----> 左----> 右

    1.0    AEB
    2.0    AEFB
    3.0    AEFBGC
    4.0    AEFBGCD
    5.0    AEFBGCDH
    6.0    AEFBGCDHI
    7.0    AEFBGCDHIKJ    (最终结果)
    

    中序 左----> 根----> 右

    1.0    EAB
    2.0    EFB
    3.0    EFAGBC
    4.0    EFAGBCD
    5.0    EFAGBCHD
    6.0    EFAGBCHID
    7.0    EFAGBCHKIJD    (最终结果)
    

    仔细看 有规律 很简单 要是实在看不懂 我也没办法 仁至义尽

    相关文章

      网友评论

      • 大斑马小斑马:关于二叉树这一块 主要考的是C语言的基础,面试的时候 很少 很少人会问 ,因为这二叉树很少用到 像我们用的 if if else else 其实就是一个二叉树 我要是没记错的话 应该叫做赫尔曼树 ,其实没多少用,会用方法就行了 ,没必要死磕 原理 ,对于那些死磕原理的人(面试官)他们就是为了装逼,就好比1+1=2 他会问你为什么等于2 ,因为他是个傻逼,你就这样告诉他,白痴!
        iOS开发小学生:好多面试的也会问这些和开发毫无关系的问题
        Taotao_Lee:总结的挺好,但是装逼的人他喜欢,没办法

      本文标题:二叉树的用法 前序 中序 后序

      本文链接:https://www.haomeiwen.com/subject/orihkxtx.html