数据结构:3.3.4遍历应用例子

news2024/12/24 8:31:43

应用例子一:

改一下先序遍历的程序

例子二:求二叉树的高度

怎么求?树是递归定义的,所以思考求二叉树高度能不能用递归做。

二叉树的高度和左右高度有什么关系?二叉树的高度等于左右子树的最大高度加上一

求树高的前提,要先知道左右子树的高度➡️所以要去改变后序遍历的程序

MaxH=(HL>HR)?HL:HR;

是一个简单的条件表达式,也被称为三元操作符。它的作用是比较HL和HR两个值的大小,如果HL大于HR,则将MaxH赋值为HL,否则将MaxH赋值为HR。换句话说,这段代码选择HL和HR中较大的那个值,并将其赋给MaxH。

**三元操作符(又称条件运算符)是编程语言中的一种简洁的条件判断语法。在C、C++、Java、JavaScript等许多编程语言中,三元操作符使用? :符号来实现。其基本语法结构如下:*

condition ? expression1 : expression2;

其中:

  • condition 是一个表达式,它会被计算并返回一个布尔值(true 或 false)。
  • expression1 是当 condition 为 true 时将要执行并返回的表达式。
  • expression2 是当 condition 为 false 时将要执行并返回的表达式。

三元操作符可以看作是 if-else 语句的一种简写形式。它通常用于需要在一个简单的条件判断中选择两个值之一的场合。

例子三:二元运算表达式树及其遍历(前缀中缀后缀表达式的由来)

叶结点代表运算数,非叶结点是运算符号

注意中序遍历得到的中缀表达式不一定和原来二元运算表达式树想要表达的意思一致

如何解决?

输出左子树的时候先输个左括号,左子树结束的时候再加一个右括号(?有点不懂),例如要输出a,先输出一个(

例子四:由两种遍历序列确定二叉树

已知三种遍历序列中的任意两种,能否唯一确定一棵二叉树?(只要包含中序就可以)

  

只给了先序和后序,可以得到不止一种符合要求的二叉树

(原因:先序是根左右,后序是左右根,根容易确定,但是不知道左右的边界在哪)

如不懂确定原二叉树的过程,可以参考原视频

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

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

相关文章

废品回收小程序的优势?有什么开发功能?

随着环保意识的增强,废品回收市场备受大众关注。我国是人口大国,回收市场拥有巨大的发展空间,对于商家来说,废品回收市场的利润空间也非常大。 在科技快速发展时代,为促进我国资源回收利用,让居民便捷回收…

开发环境安装---Visual Studio Code

开发环境安装---Visual Studio Code 1.官网下载Visual Studio Code2.安装步骤3.安装插件 1.官网下载Visual Studio Code VScode: https://code.visualstudio.com/ Visual Studio Code 简称 VSCode ,2015 年由微软公司发布。可用于 Windows,macOS 和 Li…

pycharm不能安装包的解决方法

一直使用VScode写python,最近使用pycharm,但是pycharm不能安装包,类似这种 后面直接使用ALT F12跳转终端: pip install 需要添加的包 -i https://pypi.tuna.tsinghua.edu.cn/simple不报错了

如何优雅地使用 console.log 打印数组或对象

一、背景 使用 console.log 在控制台中打印数组或者对象时,很多时候它们的字段都是默认关闭的,需要手动一个个的点开,非常不直观且麻烦。 二、解决方案 使用 JSON.stringify() 的第三个参数 我们来看一下官方对于 JSON.stringify 的介绍 三、…

【SQL每日一练】HackerRan-Basic Join-Challenges练习

文章目录 题目题析题解1.sqlserver 题目 编写一个查询来打印 hacker _ id、 name 和每个学生创建的挑战的总数。按照挑战的总数按降序对结果进行排序。如果不止一个学生创建了相同数量的挑战,那么按 hacker _ id 对结果进行排序。如果不止一个学生创建了相同数量的…

NGINX_十二 nginx 地址重写 rewrite

十二 nginx 地址重写 rewrite 1 什么是Rewrite Rewrite对称URL Rewrite,即URL重写,就是把传入Web的请求重定向到其他URL的过程。URL Rewrite最常见的应用是URL伪静态化,是将动态页面显示为静态页面方式的一种技术。比如 http://www.123.com…

odoo 入库发票三大凭证

注意对应科目 库存计价凭证 原材料 成品 供应商账单凭证 银行账单凭证

分布式系列之限流组件

概述 在高并发场景下,请求量瞬间到达,后端服务器即使有缓存、集群主备、分库分表、容错降级等措施,也有可能扛不住这请求量,因此可考虑引入限流组件。限流的目的:防止恶意请求流量或流量超出系统承载。 应用场景&…

1.搭建SpringBoot项目三种方式

目录 1.使用Spring Initializr 1.1访问Spring Initializr: 1.2填写项目基本信息 1.3配置项目元数据: 1.4添加依赖: 1.5生成项目: 1.6下载项目: 1.7解压项目: 1.8导入项目到IDE: 1.9运行项目: 1.10创建控制器: 1.11访问应用 2.使用IDE(集成开发环境&…

秒杀技术方案

参考文档: 面试必考:秒杀系统要如何设计?

gorm 一对多

type Author struct {AID int gorm:"primary_key;AUTO_INCREMENT"Name stringAge stringSex string//关联关系Article []Article gorm:"ForeignKey:Auid;AssociationForeignKey:AID" } type Article struct {ArId int gorm:"primary_key;AUTO_I…

MySQL Server和Server启动程序(二)

mysql.server — MySQL Server启动脚本 Unix和类Unix系统上的MySQL发行版包括一个名为MySQL.server的脚本,该脚本使用mysqld_safe启动MySQL服务器。它可以在Linux和Solaris等系统上使用,这些系统使用System V风格的运行目录来启动和停止系统服务。它也被…

基础算法---滑动窗口

文章目录 什么是滑动窗口1.长度最小的子数组2.无重复字符的最长子串3.最大连续1的个数4.将x减到0的最小操作数5.最小覆盖子串总结 什么是滑动窗口 滑动窗口(Sliding Window)是一种在计算机科学中用于解决各种子数组或子字符串问题的技术。滑动窗口技术通…

如何建立私域流量?私域流量怎么运营,一文读懂

当全网都在讨论私域流量,你是不是也有很多问号呢? 互联网高速发达,消费形式日新月异,跟不上时代就会被时代淘汰,接下来,我们就从3个层面深度讨论下私域流量究竟是什么?为什么要玩转私域流量&am…

详细解析Ubuntu22 部署Kaldi大模型

一、下载Kaldi模型 下载地址:GitHub - kaldi-asr/kaldi: kaldi-asr/kaldi is the official location of the Kaldi project. 下载文件解释: 一般常用的是src、tools和egs包 src(源代码)包: 包含Kaldi的核心源代码&…

Flutter调用本地web

前言: 在目前Flutter 环境中,使用在线 webview 是一种很常见的行为 而在 app 环境中,离线使用则更有必要 1.环境准备 将依赖导入 2.引入前端代码 前端代码有两种情况 一种是使用打包工具 build 而来的前端代码 另一种情况是直接使用 HTML 文件 …

Quantlab整合Alpha158因子集,为机器学习大类资产配置策略做准备(代码+数据)

原创文章第565篇,专注“AI量化投资、世界运行的规律、个人成长与财富自由"。 我们的研报得现工作,用了两篇文章讲数据准备: 【研报复现】年化16.19%,人工智能多因子大类资产配置策略 【研报复现】年化27.1%,人…

vmware workstation下centos7屏幕切换及大小调整

虚拟机版本:vmware workstation15.5.2 操作系统版本:centos 7.9.2009 一 图形界面和命令行界面切换方法 在CentOS 7中,可以使用以下方法切换界面: 1 使用快捷键切换:按下Ctrl Alt F2(或F3&#xff0…

0.5 逐行扫描(Progressive scan)简介

0.5 逐行扫描简介 逐行扫描(Progressive scan)是一种将图像显示在扫描式的显示设备上的方法。 逐行扫描常被用在计算机显示器上。 逐行扫描按照从左到右,从上到下的顺序扫描图像的所有行。如下图: 下图粗略的将逐行扫描与隔行…

LORA、UNB无线网关物联网锁助力人才公寓智慧化管理

吸引和留住青年人才是城市持续发展的关键,解决青年人才住房问题又是其中重要一环。“人才跟着产业走、公寓跟着人才建”已成为全国各地新建及改造人才公寓的目标,“引才聚才”离不开人才公寓行业布局与发展。 人才公寓不同于普通的长短租公寓&#xff0c…