《算法通关村—如何使用中序和后序来恢复一颗二叉树》

news2025/1/20 19:23:55

《算法通关村—如何使用中序和后序来恢复一颗二叉树》

中序:3 4 8 6 7 5 2 1 10 9 11 15 13 14 12
后序:8 7 6 5 4 3 2 10 15 14 13 12 11 9 1

通过后续遍历我们知道根节点是1,通过知道根节点是1,我们就可以从中序序列知道那些 是根节点的左右子树元素。3 4 8 6 7 5 2是根节点的左子树,10 9 11 15 13 14 12是根节点的右子树,就可以进行一个简单的划分。

在这里插入图片描述

接下来我们在进行左子树的划分,通过一次划分之后,我们知道左子树的中序遍历是:3 4 8 6 7 5 2 后序遍历为:8 7 6 5 4 3 2从此可以知道2是这一次的根节点了,进行划分,就可以知道以2为根节点的树只有左节点,没有右节点,从此我们又可以画出以2 为根节点的示意图:

在这里插入图片描述

我们再往下看,然后就是序列:8 7 6 5 4 3 这个序列是后续遍历,所以可以这个子树的根节点是3,然后我们看上面的中序的结果可以知道以3为根节点的树,左子树为空,右子树为:4 8 6 7 5 ,此时以3为根节点的中序遍历为3 4 8 6 7 5后序为:8 7 6 5 4 3:然后我们又可以接着往下画:

在这里插入图片描述

从上面的我们可以知道接下的树的中序遍历为:4 8 6 7 5 后序遍历为:8 7 6 5 4 由后序遍历可知4是根节点,又从中序遍历可知以4为根节点的树左子树为空,右子树是8 6 7 5,可画图如下:
在这里插入图片描述

接着来后面的中序变为:8 6 7 5 ,后序为:8 7 6 5 ,由此可知5为根节点,以5为根节点的树右子树为空,左子树为8 6 7 ,图如下 :

在这里插入图片描述

接着中序序列为8 6 7 后序序列为:8 7 6 由此可知根节点是6,左子树右子树分别是8,7,图如下:

在这里插入图片描述

在以1 为根节点的树中以同样的方式进行补全,就可以得到完整的树如下:

在这里插入图片描述

点击链接:我正在「编程导航」和朋友们讨论有趣的话题,你⼀起来吧?

也可以加我QQ(2837468248)咨询说明来意!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1165540.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

不只保护隐私的防窥膜,还是屏幕的小铠甲

电脑防窥膜这种东西确实很实用,尤其是那些经常在公共场所用笔记本的朋友,更是需要这张贴膜的保护,不过虽然现在市面上这种防窥膜种类繁多,但是产品质量良莠不齐。有些防窥膜虽然有防窥效果,但透光率下降太多了&#xf…

【使用Python编写游戏辅助工具】第一篇:概述

引言 欢迎阅读本系列文章,本系列将带领读者朋友们使用Python来实现一个简单而有趣的游戏辅助工具。 写这个系列的缘由源自笔者玩了一款游戏。正巧,笔者对Python编程算是有一定的熟悉,且Python语言具备实现各种有趣功能的能力,因…

如何解决MySQL主从复制延时问题

MySQL 主从延时的原因是什么? 具体哪个环节发生延时? 如何解决呢? 对于这“三连问”,极少有同学能通关,甚至有同学连主从复制原理都不清楚。 01 什么是主从延时? 有时候我们遇到从数据库中获取不到信息…

Centos8安装yum源时候出现的异常问题及解决方案(保好使)

问题的出现 作者在使用centos8的时候,想安装tree命令,输入了如下的命令: yum install tree 但是却显示了下面的错误: Errors during downloading metadata for repository base: - Curl error (28): Timeout was reached for h…

MySQL第一讲·存储与字段

你好,我是安然无虞。 文章目录 1. 存储:一个完整的存储过程是怎样的?创建MySQL数据库确认字段创建数据表插入数据 2. 字段:那么多字段类型,该怎么定义?整数类型浮点数类型和定点数类型文本类型日期与时间类…

Shiny Server和ShinyProxy是什么,有什么区别?

调研以及参与过多个生物公司的生信工具研发,不管是ShinyServer还是ShinyProxy都有一定研究,尤其是ShinyServer。如果仅是本地化测试想快速的搭建Shiny应用,我推荐用Shiny Server,如果多并发用户且更好的线上管理Shiny应用&#xf…

【Unity数据交互】Json序列化你记得几分

ˊˊ 👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏&#xff1…

掌握这几个技巧,才敢称为Jenkins大神!

01、Performance插件兼容性问题 自由风格项目中,有使用 Performance 插件收集构建产物,但是截至到目前最新版本(Jenkins v2.298,Performance:v3.19),此插件和Jenkins都存在有兼容性问题&#x…

scanpy赋值问题

今天发现一个很奇怪的bug import numpy as np import pandas as pd import anndata as ad from scipy.sparse import csr_matrix print(ad.__version__)counts csr_matrix(np.random.poisson(1, size(100, 2000)), dtypenp.float32) adata1 ad.AnnData(counts) print(adata1)…

基于深度学习的视频多目标跟踪实现 计算机竞赛

文章目录 1 前言2 先上成果3 多目标跟踪的两种方法3.1 方法13.2 方法2 4 Tracking By Detecting的跟踪过程4.1 存在的问题4.2 基于轨迹预测的跟踪方式 5 训练代码6 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的视频多目标跟踪实现 …

网络安全演练(一句话木马)

在享受互联网带来的便利的同时,也充满了各种网络安全风险,本文通过搭建实验环境,演示一句话木马获取主机权限。 演示环境 服务端:安装LAMP环境,部署web网站,上传一句话木马文件 客户端:安装A…

基于springboot实现在线考试平台项目【项目源码+论文说明】计算机毕业设计

基于springboot实现在线考试演示 摘要 网络的广泛应用给生活带来了十分的便利。所以把在线考试管理与现在网络相结合,利用java技术建设在线考试系统,实现在线考试的信息化。则对于进一步提高在线考试管理发展,丰富在线考试管理经验能起到不少…

【Linux】Nignx的入门使用负载均衡动静分离(前后端项目部署)---超详细

一,Nignx入门 1.1 Nignx是什么 Nginx是一个高性能的开源Web服务器和反向代理服务器。它使用事件驱动的异步框架,可同时处理大量请求,支持负载均衡、反向代理、HTTP缓存等常见Web服务场景。Nginx可以作为一个前端的Web服务器,也可…

【密评】商用密码应用安全性评估从业人员考核题库(十八)

商用密码应用安全性评估从业人员考核题库(十八) 国密局给的参考题库5000道只是基础题,后续更新完5000还会继续更其他高质量题库,持续学习,共同进步。 4251 判断题 对同一数据分别使用MD5和SHA1算法计算杂凑值&#xf…

centos7部署nginx

CentOS7安装Nginx-1.16.1稳定版 小白教程,一看就会,一做就成。 1.安装依赖环境 yum -y install gcc gcc-c automake pcre pcre-devel zlib zlib-devel openssl openssl-devel 2.下载安装包(不能联网的不行),可以留言…

Snagit 2024.0.1(mac截屏软件)

【捕获你的屏幕创意:Snagit 2024】 在视觉创意领域,你需要一款能够助你表达独特想法的工具,那就是Snagit 2024。这款软件将为你提供强大的图像处理和捕捉功能,帮助你实现你的创意构想。 Snagit 2024是一款功能强大的图像处理软件…

【npm run dev 报错:error:0308010C:digital envelope routines::unsupported】

问题原因: nodejs版本太高(nodejs v17版本发布了openSSL3.0对短发和密钥大小增加了更为严格的限制,nodejs v17之前版本没有影响,但之后的版本会出现这个错误,物品的node版本是20.9.0) 解决方式&#xff1…

测试老鸟,Python接口自动化测试框架搭建-全过程,看这篇就够了...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、接口测试自动化…

uniapp 省市区三级联动选择器

还有半个小时下班,总想着发点光亮照耀他人。IT技术这东西,尤其是UI方面的东西,于用户体验至关重要,想想最近使用uni-data-picker的丑陋页面,自己重构了这个功能,新加实现,效果图如下&#xff0c…

2023.10.31 关于 Spring 的基本概念

目录 Spring 容器 对象生命周期 IoC Spring IoC DI Spring Spring 的全称为 Spring Framework,是一个开源的 Java 应用程序框架它提供了一种综合的编程和配置模型,用于构建现代化企业级的应用程序 一句话概括 Spring 是包含了众多工具方法的 IoC …