二叉树知识点

中序 + 后序构造二叉树

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

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

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

然后继续递归。

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

最大二叉树

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

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

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

数组为空就返回 None。

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

合并二叉树

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

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

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

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

二叉搜索树中的搜索

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

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

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

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

验证二叉搜索树

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

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

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

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

相关推荐
第九序言T7 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
Java后端的Ai之路7 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
qq_426003967 小时前
UI自动化高频次登录login限流解决方案
python·ui·自动化
Sakura_j_h_7 小时前
EasyEDA PCB 快速设计Skills
c++·python·github
ZhengEnCi8 小时前
Agent 架构怎么选:从单 Agent 到多 Agent 编排的选型决策指南
算法·架构
quantdash_cc8 小时前
如何验证历史行情的交易日期是否完整覆盖研究区间?
python·数据分析·pandas·量化交易·股票数据·quantdash
I Am a robert girl8 小时前
当智能体学会“串通”:从长程交互中读懂涌现式合谋
python·多智能体系统·多智能体协作·llm agent·涌现式合谋·对齐问题·激励机制设计
秋天的怀念_David8 小时前
第二十二夜 · 数字迷雾
java·程序人生·算法
Pniubi9 小时前
力扣283移动零(双指针法)
算法·leetcode·职场和发展
hhb_6189 小时前
大模型落地三重优化实战
人工智能·算法·机器学习