待做-待补充-每个节点做事,时间,以及与角度的关系

文章目录

  • 待定内容
  • 红黑树应用场景限制
  • 什么是二叉树遍历
    • 递归遍历
      • 1.前序遍历 = 进入节点时
      • 2.中序遍历 = 遍历完左子树回到节点。此操作需要等到所有左树节点做完后才会做
      • 3.后序遍历 = 遍历完左右子树回到节点。左右子树的所有节点都做完操作后,回到当前节点才会做此操作 = 离开节点
  • 遍历要点
    • 1.每个节点做什么
    • 2.在什么时间做
  • 节点时机的区别
    • 897. 递增顺序搜索树
    • 144. 二叉树的前序遍历
    • 226. 翻转二叉树
  • 待做
    • 13 106. 从中序与后序遍历序列构造二叉树*
    • 15 331. 验证二叉树的前序序列化*
  • 为什么不能优化
    • 572. 另一棵树的子树
    • 1367. 二叉树中的列表
  • 推导是一类特殊关系
  • 推导公式

待定内容

红黑树应用场景限制

红黑树(自平衡BST(自平衡(由n个节点构建子树,保证子树高度相差<=1(Δ(h(sub)<=1便可保证整树是最小高度(因为整树高度=子树高度+1))))))
RBT作为数据结构,其增删改查可谓达到了完美,但即便如此,其应用场景也有限制。请说出合适的场景。

什么是二叉树遍历

二叉树遍历 = 前中后序遍历
= 递归遍历 + 3种时间节点
递归遍历会依次遍历到每个节点。
而前中后序则是在递归遍历的基础上选择操作发生的时间。

递归遍历

递归遍历的顺序是固定的。也就是每个节点的遍历顺序是固定的。
没错,也许你会认为是有三种遍历顺序,但其实只有一种,只决定于递归。

1.前序遍历 = 进入节点时

2.中序遍历 = 遍历完左子树回到节点。此操作需要等到所有左树节点做完后才会做

3.后序遍历 = 遍历完左右子树回到节点。左右子树的所有节点都做完操作后,回到当前节点才会做此操作 = 离开节点

遍历要点

1.每个节点做什么

2.在什么时间做

节点时机的区别

897. 递增顺序搜索树

144. 二叉树的前序遍历

226. 翻转二叉树

待做

13 106. 从中序与后序遍历序列构造二叉树*

15 331. 验证二叉树的前序序列化*

为什么不能优化

572. 另一棵树的子树

1367. 二叉树中的列表

遍历推导,不能优化

推导是一类特殊关系

树的问题可以由子树同样的问题推导而来

推导公式

二叉树分解算法的核心思维是树间的推导
1.f(x) == f(x) + 1;

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

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

相关文章

如何搭建自己的直播电商系统?

当下&#xff0c;传统的图文电商模式已经走向没落&#xff0c;视频电商备受追捧。抖音、快手、小红书、京东、淘宝、拼多多都在发力直播电商业务&#xff0c;尤其是以抖音为首的直播电商备受用户欢迎&#xff0c;它具有实时直播和强互动的特点&#xff0c;是传统电商所不具备的…

<HarmonyOS第一课>保存应用数据【课后考核】

【习题】保存应用数据 判断题 首选项是关系型数据库。 错误(False) 应用中涉及到Student信息&#xff0c;如包含姓名&#xff0c;性别&#xff0c;年龄&#xff0c;身高等信息可以用首选项来存储。 错误(False) 同一应用或进程中每个文件仅存在一个Preferences实例。 正确(T…

最长子串问题(LCS)--动态规划解法

题目描述&#xff1a; 如果Z既是X的子串&#xff0c;又是Y的子串&#xff0c;则称Z为X和Y的公共子串。 如果给定X、Y&#xff0c;求出最长Z及其长度。 注意&#xff1a;这里求的不是子序列&#xff0c;两者的意思并不相同。子串要求连续&#xff0c;子序列并不需要。 如果想…

simulinkveristandlabview联合仿真环境搭建

目录 开篇废话 软件版本 明确需求 软件安装 matlab2020a veristand2020 R4 VS2017 VS2010 软件安装验证 软件资源分享 开篇废话 推免之后接到的第一个让人难绷的活&#xff0c;网上开源的软件资料和成功的案例很少&#xff0c;查来查去就那么几篇&#xff0c;而且版本…

SpringData

1.为什么要学习SpringData&#xff1f; 是因为对数据存储的框架太多了&#xff0c;全部都要学习成本比较高&#xff0c;SpringData对这些数据存储层做了一个统一&#xff0c;学习成本大大降低。

SQL命令---修改字段的数据类型

介绍 使用sql语句修改字段的数据类型。 命令 alter table 表明 modify 字段名 数据类型;例子 有一张a表&#xff0c;表里有一个id字段&#xff0c;长度为11。使用命令将长度修改为12 下面使用命令进行修改&#xff1a; alter table a modify id int(12) NOT NULL;下面使修…

stm32使用多串口不输出无反应的问题(usart1、usart2)

在使用stm32c8t6单片机时&#xff0c;由于需要使用两个串口usart1 、usart2。usart1用作程序烧录、调试作用&#xff0c;串口2用于与其它模块进行通信。 使用串口1时&#xff0c;正常工作&#xff0c;使用串口2时&#xff0c;无反应。查阅了相关资料串口2在PA2\PA3 引脚上。RX…

[仅供学习,禁止用于违法]编写一个程序来手动设置Windows的全局代理开或关,实现对所有网络请求拦截和数据包捕获(抓包或VPN的应用)

文章目录 介绍一、实现原理二、通过注册表设置代理2.1 开启代理2.2 关闭代理2.3 添加代理地址2.4 删除代理设置信息 三、代码实战3.1 程序控制代理操作控制3.1.1 开启全局代理3.1.2 添加代理地址3.1.3 关闭代理开关3.1.4 删除代理信息 3.2 拦截所有请求 介绍 有一天突发奇想&am…

在git使用SSH密钥进行github身份认证学习笔记

1.生成ssh密钥对 官网文档&#xff1a;Https://docs.github.com/zh/authentication&#xff08;本节内容对应的官方文档&#xff0c;不清晰的地方可参考此内容&#xff09; 首先&#xff0c;启动我们的git bush&#xff08;在桌面右键&#xff0c;点击 Git Bush Here &#xf…

iOS_制作 cocopods库

文章目录 1.创建项目2.配置项目3.发布 1.创建项目 在 github 上创建仓库&#xff0c;克隆到本地&#xff1a; git clone https://github.com/mxh-mo/MOOXXX.git在项目目录下执行&#xff1a; pod lib create <库名称>进行一些配置的选择&#xff1a; # 希望在那个平台…

随机分词与tokenizer(BPE->BBPE->Wordpiece->Unigram->sentencepiece->bytepiece)

0 tokenizer综述 根据不同的切分粒度可以把tokenizer分为: 基于词的切分&#xff0c;基于字的切分和基于subword的切分。 基于subword的切分是目前的主流切分方式。subword的切分包括: BPE(/BBPE), WordPiece 和 Unigram三种分词模型。其中WordPiece可以认为是一种特殊的BPE。完…

实时最优控制(Real-Time Optimal Control)工具

系列文章目录 前言 许多现代控制方法&#xff0c;如模型预测控制&#xff08;model-predictive control&#xff09;&#xff0c;在很大程度上依赖于实时解决优化问题。特别是&#xff0c;高效解决优化控制问题的能力使复杂机器人系统在实现高动态行为&#xff08;highly dyna…

求Sn=m+mm+mmm+...+mm..mmm(有n个m)的值

题目&#xff1a;求 的值 一、做这个题我们其实可以直接一个for求解&#xff1a; a,aa,aaa...我们很容易知道它们后一项与前一项的关系就是&#xff1b; public static void Sum(int m,int n){long sum 0L;long curAn 0;for (int i 0; i < n; i){curAn m 10* curAn;/…

Qexo博客后台管理部署

Qexo博客后台管理部署 个人主页 个人博客 参考文档 https://www.oplog.cn/qexo/本地部署 采用本地Docker部署管理本地Hexo 下载代码包 若无法下载使用科学工具下载到本地在上传到服务器 wget https://github.com/Qexo/Qexo/archive/refs/tags/3.0.1.zip# 解压 unzip Qexo…

C++中的前缀和

C中的前缀和&#xff08;Prefix Sum&#xff09;是一种优化算法&#xff0c;用于计算原数组中每个元素前缀和&#xff08;前面所有元素的累加和&#xff09;&#xff0c;可以在O(n)时间内实现。 #include<iostream> using namespace std;const int MAXN 100010;int Pre…

Linux comm命令教程:如何比较两个文件的内容(附案例详解和注意事项)

Linux comm命令介绍 comm命令是Linux系统中的一个命令&#xff0c;用于比较两个已排序的文件或流。默认情况下&#xff0c;comm将始终显示三列。第一列显示只在第一个文件中的非匹配项&#xff0c;第二列显示只在第二个文件中的非匹配项&#xff0c;第三列显示两个文件中的匹配…

Java开源工具库Guava使用指南

Guava是一个功能强大的Java开源工具库&#xff0c;提供了很多实用的工具类和函数&#xff0c;可以简化开发过程。本文将介绍Guava的一些基本用法和常用功能。 添加Guava依赖 在开始使用Guava之前&#xff0c;首先需要在项目中添加Guava的依赖。可以通过Maven或Gradle来管理依…

Centos7.9下的celery无法直接使用-没有找到命令

问题 关于centos7.9下执行celery -A project worker -l debug -P eventlet 找不到celery命令 -bash: celery: command not found 解决办法 # /usr/local/Python3 为你的python路径 echo export PATH/usr/local/Python3/bin:$PATH >> /etc/profile.d/python3.sh source /…

在循环内错误使用函数定义(js的问题)

考虑下面代码&#xff1a; var elements document.getElementsByTagName(input); var n elements.length; // Assume we have 10 elements for this example for (var i 0; i < n; i) {elements[i].onclick function() {console.log("This is element #" …

利用WSL Linux编译OpenBMC

WSL2安装 &#xff08;1&#xff09; 旧版 WSL 的手动安装步骤 | Microsoft Learn &#xff08;2&#xff09; https://www.cnblogs.com/37yan/p/16169564.html &#xff08;3&#xff09; 在win10中安装linux--使用WSL_wsl.conf-CSDN博客 安装Ubuntu 18.04 on Windows 安…