当前位置: 首页 > news >正文

app和网站网站建设公司.

app和网站,网站建设公司.,网站自己做还是用程序,国内新闻最新消息10条树的遍历,dfs与bfs基础。 题目 注意这种题要看根节点的深度是0还是1。 深度优先遍历dfs,通过递归分别计算左子树和右子树的深度,然后返回左右子树深度的最大值再加上 1。递归会一直向下遍历树,直到达到叶子节点或空节点。在回溯…

树的遍历,dfs与bfs基础。

题目

注意这种题要看根节点的深度是0还是1。 

深度优先遍历dfs,通过递归分别计算左子树和右子树的深度,然后返回左右子树深度的最大值再加上 1。递归会一直向下遍历树,直到达到叶子节点或空节点。在回溯过程中,计算每一层的深度并返回,最终求得整棵树的最大深度。

时间复杂度:O(n),空间复杂度:O(n)(最坏情况)或 O(log n)(最佳情况)。

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public int maxDepth(TreeNode root) {if (root == null) return 0;return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;}
}

广度优先遍历bfs,逐层遍历,从树的第一层开始,逐渐访问下一层。而代码中通过 queue 队列来存储每一层的节点,每次从队列中取出当前节点并将其左右子节点(如果有的话)加入队列,确保节点按照层次顺序被遍历。下一层的节点会在当前层的节点都处理完之后,才开始被访问。

时间复杂度是 O(n),空间复杂度是 O(n)。

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public static int maxDepth(TreeNode root) {if (root == null) return 0;  // 如果树为空,深度为0Queue<TreeNode> queue = new LinkedList<>();  // 使用队列queue.add(root);  // 将根节点加入队列int depth = 0;  // 用来记录深度while (!queue.isEmpty()) {  // 当队列不为空时继续遍历int size = queue.size();  // 当前层节点的数量for (int i = 0; i < size; i++) {  // 遍历当前层的每个节点TreeNode node = queue.poll();  // 从队列头部移除节点if (node.left != null) queue.add(node.left);  // 如果左子树存在,加入队列if (node.right != null) queue.add(node.right);  // 如果右子树存在,加入队列}depth++;  // 当前层处理完后,深度加1}return depth;  // 返回最大深度}
}

http://www.yayakq.cn/news/124609/

相关文章:

  • 深圳广告设计公司网站wordpress 自定义标签
  • 如何创建个人网站免费网站推广服务具体内容包括哪些
  • 做外贸推广自己网站做一个网站一般需要多少钱
  • 简单网站首页怎么做超兽vps群
  • 广州建网站技术wordpress文章分类列表
  • 网站推广的方式石家庄网站建设智美
  • 重视网站阵地建设建网站怎么样才能流畅
  • 如何登录网站服务器网络营销推广流程
  • 昆山装饰公司网站建设全球访问量最大的网站排名
  • 网站首页是什么意思html5开发环境
  • 科技网站设计资讯平面设计能干一辈子吗
  • jquery 素材的网站浪漫免费表白网站
  • 做自媒体在哪个网站好个人网站怎么做打赏
  • 云邦北京网站建设dede静态网站
  • 建站套餐推荐如何注册域名免费
  • 东乌珠穆沁旗网站建设沈阳百度seo排名优化软件
  • 制作网站教程视频wordpress 当前列表数
  • 简历网站免费搜狗seo软件
  • 有没有装修做团购的网站欢迎访问中国建设银行网站
  • 找南阳建立网站的公司wordpress淘宝客源码
  • 礼盒包装设计网站net手机网站开发
  • 聊城网站推广软件苏州网页设计培训班
  • 成品网站源码1688自动跳转永州网站建设效果
  • 网站建设主要问题及建议淄博教育学校网站建设
  • 免费的域名网站网站照片上传不了怎么办
  • 深圳龙华网站公司网站开发背景介绍
  • 电子商务网站建设与综合实践建设总承包网站
  • 制定一个网站建设方案什么网站做唱歌主播
  • 微信网站二次开发wordpress页面归档
  • 简易的网站数码网站名