搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
知新_RL
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
AI Infra论文阅读之将流水线并行气泡几乎降到零(附基于Meagtron-LM的ZB-H1开源代码实现解读)_同步训练语义
2
在Java中插入音乐_java添加音乐代码
3
Flutter和uni-app的区别_uniapp和flutter有什么区别
4
mmdetection 如何训练自己的coco数据集_mmdetection训练coco
5
Python球球大作战(完整代码)_以下代码将显示'yes + no':mystr = 'yes'yourstr = 'no'mystr
6
Java——JAVE(音视频格式转换)_java video audio encoder
7
满足 Google Play 目标 API 等级 (targetSdkLevel) 的要求
8
跨平台开发框架总结_跨平台开发框架分类
9
spark3.0.0单机模式安装_spark单机模式安装
10
Xilinx FPGA:vivado单端RAM实现输出偶数(单端RAM的简单应用)
当前位置:
article
> 正文
队列 + 宽搜(BFS)
作者:知新_RL | 2024-07-01 16:31:10
赞
踩
队列 + 宽搜(BFS)
例题一
解法:
算法思路:
层序遍历即可~ 仅需多加⼀个变量,⽤来记录每⼀层结点的个数就好了。
例题二
解法(层序遍历):
算法思路:
在正常的层序遍历过程中,我们是可以把⼀层的结点放在⼀个数组中去的。既然我们有这个数组,在合适的层数逆序就可以得到锯⻮形层序遍历的结果。
例题三
解法(层序遍历):
算法思路:
1.
第⼀种思路(会超过内存限制):
既然统计每⼀层的最⼤宽度,我们优先想到的就是利⽤层序遍历,把当前层的结点全部存在队列⾥
⾯,利⽤队列的⻓度来计算每⼀层的宽度,统计出最⼤的宽度。但是,由于空节点也是需要计算在内的。因此,我们可以选择将空节点也存在队列⾥⾯。这个思路是我们正常会想到的思路,但是极端境况下,最左边⼀条⻓链,最右边⼀条⻓链,我们需要存⼏亿个空节点,会超过最⼤内存限制。
2.
第⼆种思路(利⽤⼆叉树的顺序存储 - 通过根节点的下标,计算左右孩⼦的下标):
依旧是利⽤层序遍历,但是这⼀次队列⾥⾯不单单存结点信息,并且还存储当前结点如果在数组中存储所对应的下标(在我们学习数据结构 - 堆的时候,计算左右孩⼦的⽅式)。这样我们计算每⼀层宽度的时候,⽆需考虑空节点,只需将当层结点的左右结点的下标相减再加 1
即可。
但是,这⾥有个细节问题:如果⼆叉树的层数⾮常恐怖的话,我们任何⼀种数据类型都不能存下下标的值。但是没有问题,因为
•
我们数据的存储是⼀个环形的结构;
•
并且题⽬说明,数据的范围在
int
这个类型的最⼤值的范围之内,因此不会超出⼀圈;
•
因此,如果是求差值的话,我们⽆需考虑溢出的情况。
例题四
解法(bfs):
算法思路:
层序遍历过程中,在执⾏让下⼀层节点⼊队的时候,我们是可以在循环中统计出当前层结点的最⼤值的。因此,可以在 bfs 的过程中,统计出每⼀层结点的最⼤值。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/知新_RL/article/detail/777052?site
推荐阅读
article
IDEA
找不到
database
图标
的解决方法
_
idea
右侧
没有
database
...
演示
IDEA
找不到
database
图标
的解决方法
_
idea
右侧
没有
database
idea
右侧
没有
database
...
赞
踩
article
深入理解
SSH
:
网络安全
的
守护者
...
SSH
是一种网络协议,用于在不安全
的
网络上提供安全
的
远程登录和其他网络服务。它通过加密数据传输,确保了数据在传输过程中
的
...
赞
踩
article
秋招
面试
的
自我介绍
,
分享我
的
202
4
京东
4
面面经
,
海归硕士
面试
3家大厂挂了2家_
京东
秋招
...
面试
题文档来啦
,
内容很多
,
4
85页!由于笔记
的
内容太多
,
没办法全部展示出来
,
下面只截取部分内容展示。_
京东
秋招
京东
秋招
...
赞
踩
article
java
面试
突击_
java
面试
体现
设计
能力
...
时间 版本 说明2019-2-27 v 1.0 初版发布2019-3-2 v 2.0 对于第一版进行了大幅度更新,除了修...
赞
踩
article
Spark
计算
引擎
原理
_
spark
计算
引擎的
原理
...
一、
Spark
内部
原理
——通过RDD,创建DAG(逻辑计划) ——为DAG生成物理查询计划 ——调用并执行Task 二...
赞
踩
article
Qwen2
大
模型
微调
入门实战-命名实体识别(
NER
)任务(完整代码)_
qwen2
大
模型
微调
入门实战n...
基于
Qwen2
-1.5B大
模型
,实现命名实体识别(
NER
)任务,是学习LLM
微调
非常好的入门任务之一,本文将提供完整的代...
赞
踩
article
把一个
链表
的
奇数
和
偶数
分开_编写函数
sprit
(
linklist
head
),实现单
链表
奇数
偶数
分离...
给你一个单
链表
,修改此单
链表
,使得前面是
偶数
,后面是
奇数
。
偶数
间的相对顺序不变,
奇数
间的相对顺序不变。返回修改后的单
链表
...
赞
踩
article
markdow
n
_
markdow
n
制作幻灯片ppt的若干方式(
marp
/
slidev
)
markdow
...
文章目录
markdow
n
制作幻灯片的若干方式(
marp
/
slidev
)
markdow
slidev
基本特点和安装导出插件...
赞
踩
article
京东
面试会问什么及答案
,
实战经历
,
专属于
Java
程序员
的
学习
福音
_
京东
java
面经...
我们要记住binlog文件的名字
,
也就是mysql
_
master.000001
,
和位置
,
也就是516。
_
京东
java
面经...
赞
踩
article
C#
串口
工具
开发
_
c#
串口
组件...
在单片机项目
开发
中,上位机也是一个很重要的部分,主要用于数据显示(波形、温度等)、用户控制(LED,继电器等),下位机(...
赞
踩
article
【
数据结构
】
链表
_
链表
需要
先
清空
在
销毁
吗...
链表
的概念及结构概念:基于数组的缺点,
数据结构
中诞生了新的结构就是
链表
当一组数据
需要
频繁的进行插入、删除操作时候,
链表
则...
赞
踩
article
Hive
基础知识介绍_
表
的
名称、
表
的
列及其
属性
、
表
的
分区及其
属性
、
表
的
属性
、
表
中
数据
所在
的
位置...
Hive
是基于Hadoop
的
数据
仓库工具,可对存储在HDFS上
的
文件中
的
数据
集进行
数据
整理、特殊查询和分析处理,提供了类...
赞
踩
article
DFS
和BFS_
bfs
和
dfs
...
一、
DFS
(深度优先搜素算法)1、基本概念深度优先搜索算法(depth first search, 简称
dfs
) 是一种...
赞
踩
article
今日招生
通知
+16!浙大
计算机
+
南大
软院+
南大
NLP
+中科院信工所+…
夏令营
招生
通知
发布!_浙大计算...
在对申请者的要求方面,报名
通知
中对申请者的成绩排名做出了明确要求,即“学习成绩优秀,本科前三年(或前5学期)综合成绩排名...
赞
踩
article
借助
hive
命令或
ORC
官网的
Java
Tools
查看
ORC
文件的元数据_
orc
文件查看...
1. 絮絮叨叨Apache
ORC
官网,把
ORC
文件的结构讲的那么精妙,甚至让人云里雾里如果不借助工具查看
ORC
文件的元...
赞
踩
article
数据
导入
neo4j
图
数据
库...
https://
neo4j
.com/developer/guide-import-csv本地文件以file:///为前缀...
赞
踩
article
故障
检测
代码
(
109
cnn
文件)_
pytorch
一维
cnn
故障
诊断
代码
...
.
109
cnn
import osimport torchimport torchvisionimport torchvi...
赞
踩
article
mpvue
同时开发和
打包
成
H5
和微信
小
程序
(简易模板)_
mpvue
项目
打包
成h5...
开始这个
项目
是一个
mpvue
的demo, 没有具体的业务实现方法,只有简单的页面切换,还有常用的一些方法封装,总体提供...
赞
踩
article
浙江大学
计算机
保研
条件
_
【院校解析】
浙江大学
软件
学院
...
作者:易
保研
优秀咨询师20209 Bob1院校简介
浙江大学
软件
学院
前身是
浙江大学
软件
与网络
学院
,于2001年2月27日在...
赞
踩
article
最新【
Tensorflow
基础(一)】
,
2024最新
阿里
前端
高级
面试题
总结_
阿里
高级
前端
面试题
202...
如果要使用 TensorFlow 提供的功能函数
,
须通过 TensorFlow 规定的方式去创建张量
,
而不能使用 Py...
赞
踩
相关标签
数据库
IDEA
ssh
web安全
运维
面试
职场和发展
java
spark
分布式计算
数据
框架
大模型
微调
自然语言处理
命名实体识别
SwanLab
深度学习
人工智能
markdown
学习
c#
链表
数据结构