/**
* 广度优先搜索
*/
public class BFDMain {
public static void main(String[] args) {
TreeNode n11 = new TreeNode(11);
TreeNode n10 = new TreeNode(10);
TreeNode n9 = new TreeNode(9);
TreeNode n8 = new TreeNode(8);
TreeNode n7 = new TreeNode(7, n11, null);
TreeNode n6 = new TreeNode(6, n9, n10);
TreeNode n5 = new TreeNode(5);
TreeNode n4 = new TreeNode(4, null, n8);
TreeNode n3 = new TreeNode(3, n6, n7);
TreeNode n2 = new TreeNode(2, n4, n5);
TreeNode n1 = new TreeNode(1, n2, n3);
System.out.println(bfs(n1)); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
}
public static List<Integer> bfs(TreeNode root) {
List<Integer> list = new ArrayList<>();
Queue<TreeNode> queue = new LinkedList<>();
if (root == null) {
return list;
}
queue.offer(root);
while (!queue.isEmpty()) {
TreeNode node = queue.poll();
// 左子树不为空
if (node.left != null) {
queue.offer(node.left);
}
// 右子树不为空
if (node.right != null) {
queue.offer(node.right);
}
list.add(node.val);
}
return list;
}
}
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int val, TreeNode left, TreeNode right) {
this.val = val;
this.left = left;
this.right = right;
}
TreeNode(int val) {
this.val = val;
}
@Override
public String toString() {
return "TreeNode{" +
"val=" + val +
", left=" + left +
", right=" + right +
'}';
}
}
相关推荐
华为OD机试 - 获取二叉树第k层的数值 - 广度优先搜索 BFS(Java 新系统 200分)
华为OD机试 新系统 题库疯狂收录中,刷题。
java中的二叉树,图和树的深度和广度搜索
java中的二叉树,创建遍历,图的深度广度优先搜索
用Java实现二叉树的深度优先、广度优先遍历
NULL 博文链接:https://redhacker.iteye.com/blog/413606
二叉树广度优先搜索(BFS)算法 Java
Java二叉树广度优先搜索(BFS)算法
Ubuntu20.04系统Cuckoo sandbox所需环境搭建及安装(超详细图文)
请勿叫我大神,我只是互联网的搬运工~ 前言 本教程以Ubuntu20桌面版作为示范,服务器版同样适用,但可能稍微麻烦一点,服务器版本的话安装Xmanage套装使用可能会相对轻松一些,由于后面会使用到vbox的使用,对vbox命令行操作不熟悉的小伙伴用xmanage可能会相对轻松一点。 提示:以下是本篇文章正文内容,下面案例可供参考 安装ubuntu20桌面版 步骤1:转到https://ubuntu.com/download/desktop下载下载.iso。 步骤2:使用您选择的虚拟机监控程序(VMWa
英飞凌AURIX™ TC3xx系列MCU的ISO 26262安全机制实战:从安全手册到代码集成的避坑指南
本文深入探讨英飞凌AURIX™ TC3xx系列MCU的ISO 26262安全机制实战应用,重点解析锁步核配置、ECC策略优化及SafeTlib库集成中的关键问题。通过代码示例和配置建议,帮助开发者实现ASIL D级别安全性,规避常见陷阱,提升汽车电子系统的功能安全合规性。
java实现二叉树的广度优先搜索
利用队列实现广度优先搜索 如果有如上所示的二叉树 利用队列先进先出的特点 进行如下操作: 1 入队列。 1出队列,然后将1的左子树右子树2,3入队列 此时队列是2,3. 2出队列,然后将2的左子树右子树4,5入队列 此时队列是3,4,5。 3出队列 然后将 3的子树 6 ,7入队列, 此时队列是4,5,6,7。 4出队列 8,9入队列 此时队列是 5 6 7 8 9. 5出队列 10入队列 此时队列是 6 7 8 9 10 依次出队 public class Solution {
c++界面开发入门
c++界面开发 DialogBox MessageBox
LeetCode 226 Invert Binary Tree 层序遍历方法
题目如下: 直接上代码: package com.example.demo; import java.util.LinkedList; import java.util.Queue; /** * Created By poplar on 2019/10/30 */ public class InvertBinaryTree { public static void m...
奈曼-皮尔逊准则
奈曼-皮尔逊准则 如果各个假设的先验概率P(Hi)(i=0,1)P(H_i)(i=0,1)P(Hi)(i=0,1)已知,并且每种判决的代价函数已知,这时,可以用贝叶斯准则进行判决。 如果进一步假设正确判决不付出的代价,而错误判决代价相同,即c00=c11=0,c01=c10=1c_{00}=c_{11}=0,c_{01}=c_{10}=1c00=c11=0,c01=c10=1,这时可以用最小平均错误概率准则进行判决。 在不知道先验概率P(Hi)(i=0,1)P(H_i)(i=0,1)P(Hi)(
OpenAI Error: 403 Country, region, or territory not supported [Python]
从OpenAI的API服务中获取数据时,由于你所在的国家、地区或领土不被支持,因此请求被拒绝了
二叉树的广度优先搜索(BFS)和深度优先搜索(DFS)代码实现(Java)
本文的代码和图表来源于力扣(LeetCode) 作者:sdwwld 链接:https://leetcode-cn.com/problems/er-cha-shu-de-jing-xiang-lcof/solution/4chong-jie-jue-fang-shi-bfsdfszhong-xu-bian-li-di-/ 1 二叉树的广度优先搜索(BFS) 代码实现: public static void treeBFS(TreeNode root) { //如果为空直接返回 i
高通Camx功能feature分析之二:remosaic流程
本文介绍了Remosaic技术及其在图像处理中的应用。Remosaic是将4cell1像素排布还原为普通Bayer结构的过程,分为硬件和软件两种实现方式。文章详细解析了Remosaic流程,包括配流情况、Feature选择、初始化过程,以及触发拍照的完整流程。重点分析了从普通预览切换到全尺寸拍照的关键步骤:激活全尺寸RDI会话、生成请求、等待就绪、唤醒离线线程和重启预览。通过代码层面的分析,揭示了Remosaic技术如何实现高分辨率图像还原,同时说明了该过程中可能出现的预览定屏现象及其原因。
2026年--Lc340-1161. 最大层内元素和(二叉树 , 广度优先搜索bfs)--java版
按层遍历的逻辑是:只要当前层还有节点,就继续循环;当 q 为空,说明没有下一层了,遍历结束。遍历当前层的节点有左孩子,左孩子入队;遍历当前层的节点有右孩子,右孩子入队。只是让 tmp 引用当前的 q(当前层)。随后把 q 换成新的空列表,用来装下一层节点。q.isEmpty() 表示:q 这个列表为空(没有节点了)。q.isEmpty() 表示:q 不为空,还有节点要处理。遍历结束后,用 maxSum 更新最大层和,并进入下一层。用bfs来遍历每一层的节点,然后对每一层的节点求和。遍历 tmp(当前层)
C#实战YOLO26物体检测:从ONNX模型转换到工业级部署全复盘
本文介绍了在C#上位机中集成YOLO26模型实现工业产线零件检测的实战方案。针对工业场景对实时性(单帧推理≤100ms)、轻量化和易部署的需求,选择YOLO26模型相比YOLOv8在推理速度提升30%且模型体积更小。文章详细拆解了从模型转换(PyTorch转ONNX)、C#推理引擎封装到部署优化的全流程,重点解决了ONNX兼容性、坐标偏移、GPU降级等工业落地中的典型问题。通过解耦设计、性能优化和异常处理机制,最终在工控机(i5-8500+GTX1650)上实现60ms的单帧推理速度,为工业检测项目提供了可
PCL 八叉树的使用
八叉树(Octree)是一种空间划分的数据结构,广泛应用于三维点云的处理和分析。八叉树通过将空间递归地划分为八个子区域,可以有效地组织和索引三维点数据,提升点云的查询、降采样和配准等操作的效率。
二叉树BFS(广度优先搜索)
首先定义二叉树节点类TreeNode,包含valleftright/*** 二叉树节点类(通用模板)* @param <T> 节点值的类型(如Integer、String等)*/// 节点值T val;// 左子节点引用// 右子节点引用/*** 无参构造方法(默认值为null)*//*** 带值的构造方法(子节点默认null)* @param val 节点值*//*** 完整构造方法(指定值、左子节点、右子节点)* @param val 节点值。
霍尼韦尔SoftMaster使用说明
霍尼韦尔SoftMaster使用说明
java实现广度优先搜索(BFS)深度优先搜索(DFS)
如何用java实现对二叉树的DFS和BFS? 首先,一个简单二叉树如下图: 每一个结点的数据域为整型,有左节点和右节点 实现如下 import java.util.LinkedList; import java.util.Queue; import java.util.Stack; /** * @author WangMingMing * @creat 2020-04-10 7:58 *...
怀旧版电脑GBC模拟器
再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。
OV9734 DATASHEET,完整规格书
OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等
树的广度优先搜索(BFS)及其JAVA实现
树的广度优先搜索BFS 1. 基本思想 思路:输出与当前节点直接相连的节点,直至将与之相连的节点全部输出完,则进入下一层,直至全部节点都被遍历一遍。 如图所示有一颗二叉树,根节点为A。输出其广度优先搜索的值。 第一步:将A输出,此时输出为A; 第二步:将A的左孩子输出,此时输出为A B;再将A的右孩子输出,此时输出为A BC; 第三步:此时输出为A BC,而A已经输出了,那么便输出B的左右孩子,此时输出为A BC DE;再输出C的左右孩子,此时输出为A BC DEFG。 第四步:再输出D的左右孩子,发现为
ssm框架搭建
这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载
广度优先搜索(BFS,Breadth-First Search)实现方法
广度优先搜索(BFS,Breadth-First Search)实现方法
[Java]Java实现二叉树和图的DFS、BFS
Java实现深度优先搜索DFS和广度优先搜索BFS
二叉树层级遍历:算法原理、实现与应用场景详解
本文介绍了二叉树层级遍历的原理、实现及应用。层级遍历基于广度优先搜索(BFS),使用队列按从上到下、从左到右的顺序访问节点。文章提供了Python和Java的实现代码,并阐述了其在树可视化、层级节点查找、树算法及图BFS中的应用。掌握这一遍历方法有助于解决算法问题,并为理解更复杂的数据结构奠定基础。
二叉树的层序遍历 Java广度优先搜索
一、题目描述 给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 示例: 二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层序遍历结果: [ [3], [9,20], [15,7] ] 二、思路讲解 看到二叉树按层来遍历,我们首先想到的就是广度优先搜索bfs。但是此题与单纯的bfs不一样的点在于:题目中要按层分数组来返...
广度优先搜索遍历二叉树
1.前言 当我们在需要遍历一颗二叉树时,我们可以使用广度优先搜索算法(BFS)进行实现,广度优先算法会一层一层的遍历二叉树,从根节点向下一层一层的访问,直到没有节点为止。 2. Queue 在Java中,我们一般使用队列(Queue)进行广度优先搜索的实现。 Queue中的主要方法: add()或offer()加入数据 poll()从队列中删除第一个元素 peek()用于在队列的头部查询元素,只得到但不会删除这个元素, isEmpty()判断当前队列是非为空。 3. 实现思路 创建队列后先将根结点入队,
剑指 Offer 32 - I. 从上到下打印二叉树(Java、BFS)
剑指 Offer 32 - I. 从上到下打印二叉树(Java、BFS)
蓝桥杯必备:BFS算法原理详解与实战应用(附Java代码实现)
掌握BFS算法不仅有助于蓝桥杯等赛事,更是提升编程能力的关键。随着全球AI竞赛进入白热化阶段 ,算法能力变得更加重要。《DFS算法深度解析》《动态规划解题套路》《蓝桥杯历年真题汇总》🔗 本文代码已通过优快云在线测试,如需获取完整可运行代码,请三连后在评论区留言!📊 读者互动: 你觉得BFS在算法竞赛中最难的部分是?A) 队列实现 B) 边界处理 C) 最短路径证明。
210



被折叠的 条评论
为什么被折叠?



