二叉树知识点

中序 + 后序构造二叉树

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

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

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

然后继续递归。

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

最大二叉树

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

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

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

数组为空就返回 None。

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

合并二叉树

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

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

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

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

二叉搜索树中的搜索

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

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

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

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

验证二叉搜索树

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

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

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

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

相关推荐
^yi17 分钟前
【Linux系统编程】进程状态的理解
算法·僵尸进程·孤儿进程·进程状态·挂起状态·阻塞状态
Black_Rock_br23 分钟前
打通 PyTorch Monarch 与 ROCm:单 Controller 架构的异构算力实战
人工智能·pytorch·python·开源
其实防守也摸鱼29 分钟前
Kimi K3深度测评:长文本之外的真实力
运维·开发语言·网络·人工智能·python·学习·安全
weixin_BYSJ198732 分钟前
springboot3家政平台小程序--附源码00904
java·javascript·spring boot·python·django·flask·php
冻柠檬飞冰走茶1 小时前
PTA基础编程题目集 7-7 12-24小时制(C语言实现)
c语言·开发语言·数据结构·算法
风痕天际1 小时前
Pytorch开发教程1——CUDA安装
人工智能·pytorch·python
长不胖的路人甲1 小时前
二叉排序树(BST)Java 完整实现 + 删除思路详解
java·开发语言·算法
geovindu1 小时前
python: Breadth First Search Algorithm and Depth First Search Algorithm
开发语言·后端·python·算法·搜索算法
程序员果子1 小时前
CrewAI :当 Agent 学会团队协作
人工智能·git·python·多智能体·agent框架
玉鸯1 小时前
向量检索不是记忆:Agent 记忆的三层进化
python·agent