杨泽彬的神秘商店

博客园 首页 新随笔 联系 订阅 管理

参考内容:力扣优质题解[]:https://leetcode.cn/problems/maximum-depth-of-binary-tree/solution/yi-tao-mo-ban-jie-jue-duo-ge-by-zhang-xi-yqep/

无论如何,二叉树与动态规划思考时首要思路一致,抽象地抽取其中一个结点进行逻辑判断,以这个结点和这一层为出发点,逐步深入。

二叉树的数据结构长什么样?

一般的模板都是


int Depthxxx(Treenode* root)
{
  if(!root) return 0;

  if(xxx)
  Depth(root->left)  // 递归进入深搜
}

int main()
{
//调用
return 0;
}

深搜与回溯的关系?
回溯是基于深搜思想进行的暴力搜索(穷举)。在深搜的基础上加上很多逻辑细节的处理
如遍历枚举选择,撤回选择(难点)。

深搜更加侧重于遍历而不是求出问题具体的解。

岛屿类的题目与二叉树类题目的联系
岛屿类的题目并不多,从代码实现来看与二叉树相似
二叉树往深处遍历时只有两个选择(左和右)
而岛屿类一般就是上下左右。
岛屿还可以抽象为图,不过一般图类问题用广搜会更好。

posted on 2022-08-18 11:08  快乐过了阈值  阅读(26)  评论(0)    收藏  举报