由中序遍历和后序遍历还原二叉树_二叉树的中序列

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

1、概念

(1)前序遍历

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

(2)中序遍历

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

(3)后序遍历

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

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

思想如下:

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

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

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

例:

    已知前序遍历:ABDHIEJKCFLMGNO

           中序遍历:HDIBJEKALFMCNGO

由中序遍历和后序遍历还原二叉树_二叉树的中序列

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

练习:

1、前序遍历:GDAFEMHZ

      中序遍历:ADEFGHMZ

    求得后序遍历结果为:AEFDHZMG

2序遍历:ADCEFGHB

      中序遍历:CDFEGHAB

    求得后序遍历结果为:CFHGEDBA

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

思想如下:

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

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

    c、上面的过程是递归的。先根据后序遍历结果找根结点,根结点左侧为左子树,右侧为右子树,再进入左子树重复上面的过程,最后进入右子树重复上面的过程,最终还原一棵树。

例:

    已知

中序遍历:HDIBJEKALFMCNGO

后序遍历:

HIDJKEBLMFNOGCA

         

由中序遍历和后序遍历还原二叉树_二叉树的中序列

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

ABDHIEJKCFLMGNO

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

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

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 目标检测与图像分割的区别_语义分割和实例分割最新论文

    目标检测与图像分割的区别_语义分割和实例分割最新论文计算机视觉的任务很多,有图像分类、目标检测、语义分割、实例分割和全景分割等,那它们的区别是什么呢?1、ImageClassification(图像分类)图像分类(下图左)就是对图像判断出所属的分类,比如在学习分类中数据集有人(person)、羊(sheep)、狗(dog)和猫(cat)四种,图像分类要求给定一个图片输出图片里含有哪些分类,比如下图的例子是含有person、sheep和do…

    2022年8月23日
    6
  • 阿里云centOS安装图形界面

    阿里云centOS安装图形界面阿里云默认的centOS是不带图形界面的。为了便于查看和操作,我们需要手动安装centOS的GnomeGUI包。主要记录以下几步:(1)首先安装X系统组件#yumgroupinstall"XWindowSystem"(2)安装Gnome包#yumgroupinstall"GNOMEDesktop""GraphicalAdministrationTool…

    2022年6月9日
    36
  • Pycharm激活码_pycharm激活码2021

    Pycharm激活码_pycharm激活码2021激活成功教程激活法关于激活成功教程激活,很多时候输入注册码就显示过期了,很多原因是没有修改host,很简单并且只需要几分钟。方法如下:1、将“0.0.0.0account.jetbrains.com”中的内容添加到hosts文件中,hosts路径为:C:\Windows\System32\drivers\etc请注意:不需要加#2、打开http://idea.lanyus.com/,点击激…

    2022年8月27日
    11
  • vue上传图片组件编写

    vue上传图片组件编写点击打开源码编写一个vue上传图片组件:1.首先得有一个[type=file]文件标签并且隐藏,changge事件来获取图片:2.触发隐藏的文件标签:(通过原生的click来触发)document.getElementById(‘upload_file’).click()3.获取file文件里面的值方法:fileChange($event)fileCha

    2022年6月24日
    25
  • linux tar.gz zip 解压缩 压缩命令

    linux tar.gz zip 解压缩 压缩命令

    2021年12月10日
    39
  • 图书管理系统C语言_c语言图书信息管理系统

    图书管理系统C语言_c语言图书信息管理系统《C语言图书管理系统代码》由会员分享,可在线阅读,更多相关《C语言图书管理系统代码(3页珍藏版)》请在人人文库网上搜索。1、include#includenum,ptr-bname,ptr-wname,ptr-press,ptr-sort,ptr-time,ptr-price);printf(=n);f*n,p-num,p-bname,p-wname,p-press,p-sort,p-time…

    2022年10月11日
    3

发表回复

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

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