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

助农网站策划书b站2023年免费入口

助农网站策划书,b站2023年免费入口,设计培训网站建设,大男人直播视频目录 深度优先算法(Depth-First Search,DFS) LeetCode之路——102. 二叉树的层序遍历 分析 深度优先算法(Depth-First Search,DFS) DFS是一种用于遍历或搜索树状数据结构的算法,其中它首先探…

目录

深度优先算法(Depth-First Search,DFS)

LeetCode之路——102. 二叉树的层序遍历

分析



深度优先算法(Depth-First Search,DFS)

DFS是一种用于遍历或搜索树状数据结构的算法,其中它首先探索树的深度,然后回溯并继续探索其他分支。在二叉树中,深度优先算法可以通过递归或使用栈来实现。有三种常见的深度优先遍历方式:前序遍历、中序遍历和后序遍历,每种方式都对节点的访问顺序略有不同。

以下是深度优先遍历的Java代码示例,包括前序遍历、中序遍历和后序遍历:

class TreeNode {int data;TreeNode left;TreeNode right;
​public TreeNode(int data) {this.data = data;}
}
​
// 前序遍历(Preorder DFS)
void preorderDFS(TreeNode node) {if (node == null) return;System.out.print(node.data + " "); // 先访问根节点preorderDFS(node.left); // 遍历左子树preorderDFS(node.right); // 遍历右子树
}
​
// 中序遍历(Inorder DFS)
void inorderDFS(TreeNode node) {if (node == null) return;inorderDFS(node.left); // 遍历左子树System.out.print(node.data + " "); // 访问根节点inorderDFS(node.right); // 遍历右子树
}
​
// 后序遍历(Postorder DFS)
void postorderDFS(TreeNode node) {if (node == null) return;postorderDFS(node.left); // 遍历左子树postorderDFS(node.right); // 遍历右子树System.out.print(node.data + " "); // 最后访问根节点
}
​

LeetCode之路——102. 二叉树的层序遍历

给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。

示例 1:

img

输入:root = [3,9,20,null,null,15,7]
输出:[[3],[9,20],[15,7]]

示例 2:

输入:root = [1]
输出:[[1]]

示例 3:

输入:root = []
输出:[]

提示:

  • 树中节点数目在范围 [0, 2000]

  • -1000 <= Node.val <= 1000

分析

逐层地,从左到右访问所有节点,这种情景叫做树的层序遍历。匹配的算法是DFS(Depth-first search)和BFS(Breadth-first search)。

// DFS算法-前序遍历
class Solution {public List<List<Integer>> levelOrder(TreeNode root) {List<List<Integer>> resList = new ArrayList<List<Integer>>();dfsPreorder(root, 0, resList);return resList;}/*** 前序遍历的DFS* @param node* @param deep*/public static void dfsPreorder(TreeNode node, int deep, List<List<Integer>> resList) {if (node == null) return;deep++;
​if (resList.size() < deep) {// 用resList的索引标记层数List<Integer> list = new ArrayList<>();resList.add(list);}resList.get(deep - 1).add(node.val);
​//左侧子节点遍历dfsPreorder(node.left, deep, resList);//右侧子节点遍历dfsPreorder(node.right, deep, resList);}}
  • 时间复杂度:O(n)

  • 空间复杂度:O(n)

http://www.ritt.cn/news/15744.html

相关文章:

  • 做网站上传电子书男生最喜欢的浏览器推荐
  • 官方网站的英文html网页制作模板
  • 网站访问统计方案昆明网络营销
  • 棠下手机网站建设电话网络销售怎么聊客户
  • 海外贸易在什么网站做百度秒收录软件工具
  • 官网建站合作模版免费平台推广
  • 网站群建设存在的问题推送者seo
  • 网站首页标题阿里云网站搭建
  • 室内设计软件推荐seo优化好做吗
  • wordpress不能访问首页关键词优化seo多少钱一年
  • 万全孔家庄做网站域名注册信息查询whois
  • 兰州做网站改版的公司小广告怎么能弄干净
  • 吉林省干部网络培训学院官网绍兴网站快速排名优化
  • 网站建设方案分析网站设计流程
  • 开原 铁岭网站建设企业网站关键词优化
  • 消防公司宣传册设计样本网站seo外包公司
  • 米拓建站教程5118站长工具
  • 苏州建网站的公司关键词优化分析工具
  • 以域名做网站关键词百度普通下载
  • 阿里云云服务器ecs能直接做网站百度关键词多少钱一个月
  • 网站建站公司服务好吗网站seo诊断分析报告
  • 长春网站设计880元杭州百度快照优化公司
  • 做网站一般是怎么盈利中国企业网官方网站
  • 服务器安装完面板怎么做网站湖南最新消息今天
  • 网站开发中点赞怎么做到的做一个简单的网站需要多少钱
  • 好的html5网站模板bt磁力bt天堂
  • 推广网站挣钱 优帮云分类信息网
  • 网站制作ppt2023今天的新闻联播
  • 做网站服务器多少钱网络营销师是干什么的
  • 网站群建设规划方案百度浏览官网