发布时间:2026/7/30 0:56:50
BFS(广度优先搜索)是一种图遍历算法,使用**队列**作为核心数据结构,遵循“先入先出”(FIFO)原则 BFS广度优先搜索是一种图遍历算法使用队列作为核心数据结构遵循“先入先出”FIFO原则。其典型应用场景包括在无权图中求解单源最短路径即边数最少的路径因为BFS按层扩展首次到达某节点时即为最短距离二叉树或图的层次遍历逐层访问从根/起点开始一层一层向外扩散还可用于判断图的连通性、求解最小操作步数问题如迷宫最短出路、单词接龙等。实现要点初始化队列将起点入队并标记已访问循环出队访问其所有未访问邻接点入队并标记通常配合visited集合/数组避免重复访问若需记录路径或距离可额外维护distance[]或parent[]数组。fromcollectionsimportdequedefbfs(graph,start):visitedset()queuedeque([start])visited.add(start)distance{start:0}whilequeue:nodequeue.popleft()forneighboringraph.get(node,[]):ifneighbornotinvisited:visited.add(neighbor)queue.append(neighbor)distance[neighbor]distance[node]1returndistanceBFS广度优先搜索与DFS深度优先搜索在时间复杂度和空间复杂度上的异同如下✅相同点时间复杂度均为 O(V E)V 为顶点数E 为边数因为两者在最坏情况下都需要访问图中所有顶点和边邻接表表示下若用邻接矩阵存储时间复杂度均为 O(V²)因需检查每对顶点是否连通。❌不同点关键差异在于空间复杂度及实际行为维度BFSDFS辅助数据结构队列FIFO栈递归调用栈 或 显式栈空间复杂度O(W)W 为图的最大层宽即某一层最多节点数→ 最坏情况如星形图或完全图可达 O(V)O(H)H 为图的最大搜索深度即最长路径长度→ 最坏情况如链状图可达 O(V)但实际常更省空间尤其稀疏图/树典型空间表现在宽而浅的图中空间开销大如社交网络“六度人脉”早期层节点爆炸在深而窄的图中空间开销大如单链、树高较大时递归栈深 补充说明DFS 递归实现的空间复杂度包含函数调用栈深度易受栈溢出影响需注意语言栈限制迭代DFS可显式控制栈但逻辑稍复杂。BFS 的队列在层次遍历时天然支持“按层处理”便于实现最短路径、最小步数等DFS 更适合回溯、拓扑排序、连通分量Tarjan、路径存在性判断等。

相关新闻

2026/7/30 0:51:50

语音对话前端全链路:WebRTC 采集、流式 ASR 与 TTS 的工程落地

语音对话前端全链路:WebRTC 采集、流式 ASR 与 TTS 的工程落地 一、边说边听的难题:语音 AI 助手的实时性与打断困境 去年我们给一个车载语音助手做前端,验收时产品提了一条:"用户说话中途改主意,要能立刻打断 AI…

2026/7/30 0:46:50

投票工具操作便捷度实测指南|2026主流平台新手创建步骤对比

多数线上投票活动落地难点,不在于功能覆盖度,而在于平台操作门槛过高。注册流程繁琐、设置选项冗余、功能入口隐蔽、发布流程复杂,都会增加活动筹备成本,尤其影响新手用户的使用效率。2026年主流投票工具均以低门槛、轻量化为迭代…

2026/7/30 2:02:04

物理AI+ Genesis AI联创王尊玄 | 不卷大模型卷系统能力

机器人一定要长得像人吗?Genesis AI 的回答是,不一定。 Genesis AI 这家base在法国和硅谷的具身新星,今年6月推出了首款具身机器人Eno,没有头和脸,只保留灵巧操作必要的部分,流畅简洁的设计被称为机器人界的…

2026/7/30 2:02:04

2026年薪酬设计流程全解析:从零搭建让员工抢着干的激励体系

到2026年,人才争夺早已不是简单的薪资加码游戏。当95后逐渐成为管理岗中坚,00后带着全新的职业价值观涌入,传统的“定岗定薪”就像一张过期的地图——看着有路,走起来全是坑。更棘手的是,岗位边界加速模糊,…

2026/7/30 2:02:04

反相与同相放大器:从原理到实战选型指南

1. 从“黑盒子”到设计选择:聊聊放大器那点事儿干了十几年硬件设计,画过的板子、调过的电路不计其数,但每次给新来的工程师讲模拟电路基础,总绕不开两个“老伙计”:反相放大器和同相放大器。这俩可以说是运算放大器最经…

2026/7/30 2:02:04

GDK脚本命令全解析:实现电池自动化测试与BMS开发

1. 项目概述:为什么我们需要脚本化电池测试?在电池管理系统(BMS)的研发、验证和生产测试中,我们经常需要重复执行一系列复杂的操作:比如以特定电流给电池充电,静置一段时间,再以恒功…

2026/7/30 1:57:04

langgraph教程系列-02-让流程分叉-条件边与路由

本文是「LangGraph 教程系列」第 2 篇。写作时基于 langgraph 1.2.10、langchain 1.3.14、langchain-deepseek 1.1.0、Python 3.12。配套代码仓库 https://github.com/wxj006007/deep-research-assistant ,本篇对应 tag v0.1。上一篇我们用 State / Node / Edge 三件…

2026/7/29 22:32:30

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

一、背景与测试方案 在实际项目交付中,PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及:多源PDF的文件流合并、页面级水印渲染(含透明度混合与图层叠加)、输出文件体积控制。看似简单的操作…

2026/7/30 0:01:39

[GESP202606 四级] 扫雷

B4557 [GESP202606 四级] 扫雷 https://www.luogu.com.cn/problem/B4557 中国计算机学会(CCF)2026年6月C四级讲解——扫雷 https://www.bilibili.com/video/BV1MCMg6AEXR/ B4557 [GESP202606 四级] 扫雷 https://www.bilibili.com/video/BV1ZKTj6ZEVh/ 2…

2026/7/30 0:01:39

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/29 13:12:43

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…