二叉树的前序遍历、中序遍历和后序遍历之间还原二叉树

二叉树的前序遍历、中序遍历和后序遍历之间还原二叉树二叉树的前序遍历 中序遍历和后序遍历之间还原二叉树 1 概念 1 前序遍历 nbsp nbsp nbsp a 访问根节点 b 前序遍历左子树 c 前序遍历右子树 2 中序遍历 nbsp nbsp nbsp a 中序遍历左子树 b 访问根节点 c 中序遍历右子树 3 后序遍历 nbsp nbsp nbsp a 后序遍历左子树 b 后续遍历右子树 c 访问根节点 2 前序遍历和中序遍历还原二叉树思想如下 nbsp nbsp a 根据前序遍历结果 第一个元素为二叉树的根结

二叉树的前序遍历、中序遍历和后序遍历之间还原二叉树

1、概念

(1)前序遍历

      a、访问根节点;b、前序遍历左子树;c、前序遍历右子树。

(2)中序遍历

      a、中序遍历左子树;b、访问根节点;c、中序遍历右子树。

(3)后序遍历

      a、后序遍历左子树;b、后续遍历右子树;c、访问根节点。

2、前序遍历和中序遍历还原二叉树

思想如下:

    b、观察中序遍历结果,根结点左侧的为左子树,若左子树根结点前(后)再无任何元素,则左(右)子树的左分支为空;根结点右侧的为右子树,若右子树根结点前(后)再无任何元素,则左(右)子树的左分支为空;

    c、上面的过程是递归的。先找到当前树的根结点,然后划分为左右子树,再进入左子树重复上面的过程,最后进入右子树重复上面的过程,最终还原一棵树。

例:

    已知前序遍历:ABDHIEJKCFLMGNO

           中序遍历:HDIBJEKALFMCNGO

二叉树的前序遍历、中序遍历和后序遍历之间还原二叉树

按照上述步骤先画出二叉树,然后在进行求解后序遍历结果。结果为:HIDJKEBLMFNOGCA

练习:

1、前序遍历:GDAFEMHZ

      中序遍历:ADEFGHMZ

    求得后序遍历结果为:AEFDHZMG

2序遍历:ADCEFGHB

      中序遍历:CDFEGHAB

    求得后序遍历结果为:CFHGEDBA

3、中序遍历和后序遍历还原二叉树

思想如下:

    a、根据后序遍历结果,最后一个元素为二叉树的根结点;

例:

    已知

中序遍历:HDIBJEKALFMCNGO

后序遍历:

HIDJKEBLMFNOGCA

         

二叉树的前序遍历、中序遍历和后序遍历之间还原二叉树

按照上述步骤先画出二叉树,然后在进行求解前序遍历结果。结果为:

ABDHIEJKCFLMGNO

练习:可参考前序遍历和中序遍历的练习

4、前序遍历和后序遍历还原二叉树

已知前序和中序,后序和中序遍历序列之后,可以唯一确定一棵二叉树。但是,只知道前序和后序遍历序列,是无法知道哪个结点是左子树还算右子树。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/209858.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午8:18
下一篇 2026年3月19日 上午8:18


相关推荐

  • 腾讯混元3D 2.5:让3D模型生成进入“极致细节”时代

    腾讯混元3D 2.5:让3D模型生成进入“极致细节”时代

    2026年3月12日
    2
  • ServerSocket用法详解

    ServerSocket用法详解在客户 服务器通信模式中 服务器端需要创建监听特定端口的 ServerSocket ServerSocket 负责接收客户连接请求 本章首先介绍 ServerSocket 类的各个构造方法 以及成员方法的用法 接着介绍服务器如何用多线程来处理与多个客户的通信任务 本章提供线程池的一种实现方式 线程池包括一个工作队列和若干工作线程 服务器程序向工作队列中加入与客户通信的任务 工作线程不断从工作队列中取出

    2026年3月19日
    2
  • 非归档下oracle的备份和恢复

    非归档下oracle的备份和恢复

    2022年3月11日
    45
  • MAC怎么安装brew

    MAC怎么安装brew用brewinstallgit安装git,然后提示安装失败,百度后发现是需要先安装brew用官网给的命令,报错,太绝人了,百度了好多都无法成功,最后找到一个大佬的解决办法,贴出来**解决**苹果电脑常规安装脚本(推荐完全体几分钟安装完成):/bin/zsh-c”$(curl-fsSLhttps://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)”苹果电脑极速安装脚本(精简版几秒钟安装完成):/bin/zsh-

    2025年7月4日
    6
  • java 大端字节序_大小端字节序

    java 大端字节序_大小端字节序现代 CPU 计算时一次都能装载多个字节 如 32 位计算机一次装载 4 字节 多字节的数值在内存中高低位的排列方式会影响所表示的数值 以 int32 类型的数值 十六进制表示为 0x0f 二进制表示为 0b0000000000 为例 在内存中用 4 个字节存储 4 个字节的内容分别是 0x01 00000001 0x03 000000

    2025年9月25日
    4
  • ImageMagick 的安装及使用

    ImageMagick 的安装及使用一、什么是Imagemagick?ImageMagick是一款免费开源的图片编辑软件。既可以通过命令行使用,也可以通过C/C++、Perl、Java、PHP、Python或Ruby调用库编程来完成。

    2022年7月1日
    30

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号