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

2023-12-13 10:05:15

纲领

1.是否可以通过遍历一遍二叉树得到答案

2.是否可以通过两颗子树相同问题的答案推导出树的答案(形式为递归)

无论哪种思维模式,都需要思考:单独一个二叉树节点,它需要做什么事情?需要在什么时候做

后序

判断问题是否和子树相关,如果相关,就要给函数设置合理的定义和返回值,在后序位置写代码。

子树相同问题 推导

子树不同问题 遍历

红黑树应用场景限制

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

构造对比

1008

105

什么是二叉树遍历

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

递归遍历

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

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

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

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

遍历要点

1.每个节点做什么

2.在什么时间做

节点时机的区别

897. 递增顺序搜索树

144. 二叉树的前序遍历

226. 翻转二叉树

待做

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

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

为什么不能优化

572. 另一棵树的子树

1367. 二叉树中的列表

遍历推导,不能优化

推导是一类特殊关系

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

推导公式

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

文章来源:https://blog.csdn.net/qq_42863961/article/details/134805233
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。