zoukankan      html  css  js  c++  java
  • 同学整理的关于二叉树问题之已知两种序列求第三种

    (一):已知二叉树中序序列和后序序列,求先序序列

    例:(白书P38613题)二叉树中序序列为abcdefg,后序序列为bdcafge,求先序序列

    1.找根结点:

    后序序列顺序为左右头,它最后一个定为根结点,根结点就为后序序列的最后一个------e

    2.分左右孩子:

    e为根结点,根据中序序列是左头右推出abcd是根结点的左孩子,fg为右孩子;

    3.排左孩子:

    中序序列为abcd,后序序列为bdca(递归到第一步)

    1):找分支结点:

            后序序列最后一个为分支结点,分支结点为a

    2):分左右孩子:

            a为分支结点,根据中序序列是左头右推出没有左孩子,bcd为右孩子;

    3):排左孩子:

            无;

    4):排右孩子:

            (此处省略过程,还是递归)排序为bc的左孩子,dc的右孩子,ca的右孩子;

    4.排右孩子:

    中序序列为fg,后序序列为fg(也是递归)

    1):找分支结点:

            后序序列最后一个为分支结点,分支结点为g

    2):分左右孩子:

            g为分支节点,根据中序序列是左头右推出

    f为左孩子,无右孩子;

        (3):排左孩子:

                fg的左孩子;

    4):排右孩子:

            无;

    5.画二叉树:

                           e

                         /     \

                        a       g

                         \      /

                          c    f

                        /   \

                       b     d

    6.写先序序列:为eacbdgf

    (二):已知二叉树先序序列和中序序列,求后序序列

    例:(白书P38618题)二叉树先序序列为EFHIGJK,中序序列为HFIEJKG,求后序序列

    1.找根结点:

    先序序列顺序为头左右,它第一个定为根结点,根结点就为先序序列的第一个------E

    2.分左右孩子:

    E为根结点,根据中序序列是左头右推出HFI是根结点的左孩子,JKG为右孩子;

    3.排左孩子:

    中序序列为HFI,先序序列为FHI(递归到第一步)

    1):找分支结点:

            先序序列第一个为分支结点,分支结点为F

    2):分左右孩子:

            F为分支结点,根据中序序列是左头右推出H为左孩子,I为右孩子;

    3):排左孩子:

            HF的左孩子;

    4):排右孩子:

            IF的右孩子;

    4.排右孩子:

    中序序列为JKG,先序序列为GJK(也是递归)

    1):找分支结点:

            先序序列第一个为分支结点,分支结点为G

    2):分左右孩子:

            G为分支节点,根据中序序列是左头右推出

    JK为左孩子,无右孩子;

        (3):排左孩子:

                (此处省略过程,还是递归)KJ的右孩子,JG的左孩子;

    4):排右孩子:

            无;

    5.画二叉树:

                           E

                         /     \

                        F       G

                       /  \      /

                      H   I    J

                                \

                                  K

    6.写后序序列:为HIFKJGE

                                    整理人:某位不愿透露姓名的帅哥

                                    时间:2016.5.20

  • 相关阅读:
    关于阿里云centos 2.6下手机表情输入后无法保存到mysql数据库的问题调研及mysql版本从5.1升级到5.7的全过程纪要
    EXTJS 5 学习笔记2
    EXTJS 5 学习笔记1
    关于java.lang.String理解中的一些难点
    关于centos7中使用rpm方式安装mysql5.7版本后无法使用root登录的问题
    大数据专栏
    过采样中用到的SMOTE算法
    linux后台执行命令:&和nohup
    P,R,F1 等性能度量(二分类、多分类)
    word2vec模型cbow与skip-gram的比较
  • 原文地址:https://www.cnblogs.com/wty20010315/p/5517057.html
Copyright © 2011-2022 走看看