24
24
25
25
** -----------**
26
26
27
- > 本文有视频版:[ 二叉树/递归的框架思维(纲领篇)] ( https://www.bilibili.com/video/BV1nG411x77H/ )
27
+ > 本文有视频版:[ 二叉树/递归的框架思维(纲领篇)] ( https://www.bilibili.com/video/BV1nG411x77H/ ) 。建议关注我的 B 站账号,我会用视频领读的方式带大家学习那些稍有难度的算法技巧。
28
28
29
- PS: [ 刷题插件 ] ( https://mp.weixin.qq.com /s/OE1zPVPj0V2o82N4HtLQbw ) 集成了手把手刷二叉树功能, 按照公式和套路讲解了 150 道二叉树题目,可手把手带你刷完二叉树分类的题目, 迅速掌握递归思维。
29
+ 在开头先打个广告,我的 [ 手把手刷二叉树课程 ] ( https://aep.xet.tech /s/3YGcq3 ) 按照公式和套路讲解了 150 道二叉树题目,只需一顿饭钱,就能手把手带你刷完二叉树分类的题目, 迅速掌握递归思维,让你豁然开朗。我绝对有这个信心,信不信,可以等你看完我的二叉树算法系列文章再做评判 。
30
30
31
- 公众号历史文章的整个脉络都是按照 [ 学习数据结构和算法的框架思维] ( https://labuladong.github.io/article/fname.html?fname=学习数据结构和算法的高效方法 ) 提出的框架来构建的,其中着重强调了二叉树题目的重要性,所以把本文放在第一篇 。
31
+ 我的公众号历史文章的整个脉络都是按照 [ 学习数据结构和算法的框架思维] ( https://labuladong.github.io/article/fname.html?fname=学习数据结构和算法的高效方法 ) 提出的框架来构建的,其中着重强调了二叉树题目的重要性,所以把本文放在第一章的必读系列中 。
32
32
33
33
我刷了这么多年题,浓缩出二叉树算法的一个总纲放在这里,也许用词不是特别专业化,也没有什么教材会收录我的这些经验总结,但目前各个刷题平台的题库,没有一道二叉树题目能跳出本文划定的框架。如果你能发现一道题目和本文给出的框架不兼容,请留言告知我。
34
34
@@ -581,7 +581,9 @@ void levelTraverse(TreeNode root) {
581
581
582
582
希望大家能探索尽可能多的解法,只要参透二叉树这种基本数据结构的原理,那么就很容易在学习其他高级算法的道路上找到抓手,打通回路,形成闭环(手动狗头)。
583
583
584
- 最后,我在不断完善刷题插件对二叉树系列题目的支持,在公众号后台回复关键词「** 插件** 」即可下载。
584
+ 最后,我在不断完善刷题插件对二叉树系列题目的支持,在公众号后台回复关键词「** 插件** 」即可下载,购买我的 ** [ 手把手刷二叉树系列课程] ( https://aep.xet.tech/s/3YGcq3 ) ** 即可手把手带你运用本文所讲的技巧。
585
+
586
+ > 思考题答案:文中后序遍历的例题使用了「分解问题」的思路。因为当前节点接收并利用了子树返回的信息,这就意味着你把原问题分解成了当前节点 + 左右子树的子问题。
585
587
586
588
** 2022年5月12日 更新** :
587
589
@@ -665,8 +667,6 @@ void traverse(List<TreeNode> curLevelNodes) {
665
667
666
668
相较上一个递归解法,这个递归解法是自顶向下的「层序遍历」,更接近 BFS 的奥义,可以作为 BFS 算法的递归实现扩展一下思维。
667
669
668
- > 思考题答案:文中后序遍历的例题使用了「分解问题」的思路。因为当前节点接收并利用了子树返回的信息,这就意味着你把原问题分解成了当前节点 + 左右子树的子问题。
669
-
670
670
671
671
672
672
<hr >
@@ -675,7 +675,7 @@ void traverse(List<TreeNode> curLevelNodes) {
675
675
676
676
- [ Dijkstra 算法模板及应用] ( https://labuladong.github.io/article/fname.html?fname=dijkstra算法 )
677
677
- [ Git原理之最近公共祖先] ( https://labuladong.github.io/article/fname.html?fname=公共祖先 )
678
- - [ labuladong 手把手刷二叉树系列 ] ( https://labuladong.github.io/article/fname.html?fname=专栏简介 )
678
+ - [ labuladong 二叉树(递归)专题课 ] ( https://labuladong.github.io/article/fname.html?fname=tree课程简介 )
679
679
- [ 东哥带你刷二叉树(后序篇)] ( https://labuladong.github.io/article/fname.html?fname=二叉树系列3 )
680
680
- [ 东哥带你刷二叉树(序列化篇)] ( https://labuladong.github.io/article/fname.html?fname=二叉树的序列化 )
681
681
- [ 东哥带你刷二叉树(思路篇)] ( https://labuladong.github.io/article/fname.html?fname=二叉树系列1 )
0 commit comments