算法

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

2017-07-18  本文已影响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    (最终结果)

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

上一篇下一篇

猜你喜欢

热点阅读