• 二叉树


    某二叉树中序遍历的节点顺序是: BDCE,后序遍历是: DCBE, 则前序遍历结果为()

    A. BCDE

    B. BDCE

    C. ECDB

    D. EBCD

    答案:D

    解答:

    1、什么叫前序、中序、后序

     一棵二叉树由根结点、左子树和右子树三部分组成,若规定 D、L、R 分别代表遍历根结点、遍历左子树、遍历右子树。

    DLR--前序遍历(根在前,从左往右,一棵树的根永远在左子树前面,左子树又永远在右子树前面 )

    LDR--中序遍历(根在中,从左往右,一棵树的左子树永远在根前面,根永远在右子树前面)

    LRD--后序遍历(根在后,从左往右,一棵树的左子树永远在右子树前面,右子树永远在根前面)

    2、思路

       2.1 先确认根节点

       2.2 再确定左子树和右子树

      2.2.1 从左子树中找到左子树的跟,回到2.1步骤开始遍历

      2.2.2 从右子树中找到左子树的跟,回到2.1步骤开始遍历

       2.3 直到找完,建立完整的树

       

    3.1 先确认根节点

    首先根据后序遍历DCBE,根据后续遍历,左右树永远在根节点前面,找到根节点为E

    3.2 确定左子树和右子树

    根据中序遍历BDCE,中序遍历,根节点永远在右节点树前面,找到左边子节点是BDC,右边没有子节点。

    所以树为:

        E
    BDC

    3.3  BDC的中序为BDC,后续为DCB,于是找到根节点为B,右节点为DC,左边没有节点

    所以树为

        E
    B    
        DC

    3.4 DC的后续为DC,所以C为根节点,中序为DC,所以D为左边子节点

    最终得到树为:

        E
    B
        C
    D

    3.5 此树前序遍历结果为:EBCD

  • 相关阅读:
    sublime text3在指定浏览器上本地服务器(localhost)运行文件(php)
    关于Content-Type的问题
    为什么开发要用一个大的背景图
    2017-04-17
    我的第一篇博客
    b站计算机网络谢希仁6网络层续3
    b站计算机网络谢希仁6网络层续2
    b站计算机网络谢希仁6网络层续1
    b站操作系统2.10互斥
    b站操作系统2.9并发
  • 原文地址:https://www.cnblogs.com/cailingsunny/p/15906213.html
Copyright © 2020-2023  润新知