二叉树知识点

中序 + 后序构造二叉树

后序最后一个元素先确定根节点。

再去中序里找到这个根的位置。

根左边是左子树,根右边是右子树。

然后继续递归。

记一句:后序定根,中序切树。

最大二叉树

每次先找当前数组里的最大值作为根。

最大值左边部分建左子树。

最大值右边部分建右子树。

数组为空就返回 None。

今天这个题最容易错的是切片,右边一定是 nums[index+1:]。

合并二叉树

两个节点都存在,就把值加起来。

一个为空,就直接返回另一个。

然后继续合并左子树和右子树。

这题本质就是两棵树对应位置一起处理。

二叉搜索树中的搜索

目标值等于当前节点,直接返回。

目标值小于当前节点,去左边找。

目标值大于当前节点,去右边找。

二叉搜索树可以只走一条路,不用左右都搜。

验证二叉搜索树

不能只看左孩子小、右孩子大。

真正要满足的是左子树所有节点都小于根,右子树所有节点都大于根。

也就是说要看整棵子树,不是只看父子。

常用方法是中序遍历看是否严格递增,或者递归加上下界范围。

相关推荐
泷羽Sec-静安2 小时前
AICTFer一天速成指南
python·sql·ctf
Z1Jxxx2 小时前
C++ P1151 子数整数
开发语言·c++·算法
User_芊芊君子2 小时前
Python+Agent入门实战:0基础搭建可复用AI智能体
开发语言·人工智能·python
迷你可可小生2 小时前
图像视觉面经学习(一)
图像处理·人工智能·python·学习
平安的平安2 小时前
用 Python 玩转 AI 绘图:Stable Diffusion 本地部署指南
人工智能·python·stable diffusion
foundbug9992 小时前
基于种群分解与主元分析的NSGA-II优化算法
算法
计算机安禾2 小时前
【数据结构与算法】第37篇:图论(一):图的存储结构(邻接矩阵与邻接表)
数据结构·算法·链表·排序算法·深度优先·图论·visual studio code
sparEE2 小时前
基础排序算法:冒泡、选择、插入、希尔
数据结构·算法·排序算法
Artech2 小时前
我所理解的Python元模型
python·meta class·meta model