网易首页 > 网易号 > 正文 申请入驻

面试遇最短路径别再硬搜:两分钟看懂BFS为何能一步到位

0
分享至

我至今还记得第一次在面试中遇到图论题时的场景:“给定一个迷宫,找从入口到出口的最短路径。”我的大脑瞬间闪过所有看过的迷宫电影——《闪灵》里的树篱迷宫,只不过这次多了一个滴答作响的时钟和一块白板。我试着用朴素的深度优先搜索,一条走廊一条走廊地钻,碰到死胡同就原路返回,活像一只迷路的老鼠。痛苦地折腾了几分钟后,面试官挑了挑眉,说:“有一种更简单的方法,保证能在无权图中找到最短路径。” 那一刻的感觉,就像在游戏里发现了隐藏捷径——你明明在同一关卡里苦战了几个小时,突然看见一根水管能把你直接送到终点。我这才意识到,自己一直没弄懂广度优先搜索(BFS)背后的“为什么”。它不只是另一种遍历方式;它是一份保证:当你第一次到达某个节点时,走过的边数一定是最少的。理解了这一点,我的挫败感立刻变成了兴奋。从那以后,BFS就成了我解决最短路径问题的首选工具。 为什么BFS能在无权图中给出最短路径?想象你往平静的池塘里丢了一颗石子。涟漪以均匀的速度向外扩散——距离落点 k 处的每一点,一定比距离 k+1 处的每一点更早被触达。BFS做的就是这件事,而实现它的工具就是队列: ``` from collections import deque def bfs_shortest_path(graph, start, target): queue = deque([(start, 0)]) visited = {start} while queue: node, distance = queue.popleft() if node == target: return distance for neighbor in graph[node]: if neighbor not in visited: visited.add(neighbor) queue.append((neighbor, distance + 1)) return -1 # 目标不可达 ``` 因为队列遵循先进先出的顺序,我们总是先处理距离为 0 的节点,再处理距离为 1 的节点,接着是距离为 2 的节点,以此类推。当我们第一次遇到目标节点时,就可以确信已经走了最少的边数——任何其他路径都必须经过某个我们已经处理过的节点,而那条路径的长度只会更长或相等。 这个算法优美、直观,而且时间复杂度是线性的,与图的大小成正比。不需要花哨的优先队列,不需要启发式函数,只需要一个简单的队列和一个已访问集合。 回到开头那个迷宫题。用 BFS 重新审视时,解法变得异常简单:把迷宫的每个格子看作节点,格子之间的通道看作边。从入口开始做广度优先搜索,第一次到达出口的那一层深度,就是最短路径的长度。当年让我在面试官面前窘迫不堪的问题,如今成了我解释 BFS 威力时最爱的例子。很多时候,我们缺少的不是解决问题的能力,而是一个能看穿问题本质的视角。BFS 就是那个视角。


特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
曝汪小菲和朋友女儿裸聊、对方还是未成年,婚内出轨睡大哥的女人

曝汪小菲和朋友女儿裸聊、对方还是未成年,婚内出轨睡大哥的女人

180视角
2026-08-13 10:30:24
突然退役!再见了,威少!正式结束NBA生涯

突然退役!再见了,威少!正式结束NBA生涯

篮球实战宝典
2026-08-13 04:38:56
吊梢眉、眯眯眼,一个个精神萎靡,清华博士丑化红军战士,引起全网怒火:必须严查重罚!

吊梢眉、眯眯眼,一个个精神萎靡,清华博士丑化红军战士,引起全网怒火:必须严查重罚!

谭谈社会
2026-08-11 21:36:52
赵一鸣方回应“4块牛肉干收64元复秤仅17元”(来源:福建电视台)

赵一鸣方回应“4块牛肉干收64元复秤仅17元”(来源:福建电视台)

界面新闻
2026-08-12 19:50:05
8月13日周四,人社部和财政部关于2026年调整养老金的文件,有正式公布吗?

8月13日周四,人社部和财政部关于2026年调整养老金的文件,有正式公布吗?

小谈食刻美食
2026-08-13 09:29:32
时隔2年出山!46岁哈维官宣出任荷兰队主帅 签约4年 首秀过招克洛普

时隔2年出山!46岁哈维官宣出任荷兰队主帅 签约4年 首秀过招克洛普

我爱英超
2026-08-13 05:13:56
中央生态环境保护督察已实现三轮全覆盖

中央生态环境保护督察已实现三轮全覆盖

界面新闻
2026-08-13 10:52:02
郭德纲魔改红歌被立案,一句“紫禁城中静悄悄”惹的祸?

郭德纲魔改红歌被立案,一句“紫禁城中静悄悄”惹的祸?

雪谨说个球
2026-08-13 08:00:21
125亿!125亿啊!湖人重磅交易!东契奇第三次易主

125亿!125亿啊!湖人重磅交易!东契奇第三次易主

篮球实战宝典
2026-08-13 06:13:19
朝鲜缺电远比越南严重,中国却始终不向其送电,说白了,一旦输电线搭过去,恐怕会送出个无底洞般的烂账

朝鲜缺电远比越南严重,中国却始终不向其送电,说白了,一旦输电线搭过去,恐怕会送出个无底洞般的烂账

人生录
2026-08-13 00:05:10
郭德纲改了句歌词被立案:舞台上的“紫禁城”,现实中的“红线”

郭德纲改了句歌词被立案:舞台上的“紫禁城”,现实中的“红线”

思如视角
2026-08-13 10:09:22
普京首次登上俄日争议岛屿

普京首次登上俄日争议岛屿

界面新闻
2026-08-13 11:46:27
伊朗“手搓”AI视频“餐车大逃亡”讽刺特朗普:为防我们刺杀,躲在餐饮车秘密换机

伊朗“手搓”AI视频“餐车大逃亡”讽刺特朗普:为防我们刺杀,躲在餐饮车秘密换机

极目新闻
2026-08-13 10:38:27
中国最大的优势,要丢?

中国最大的优势,要丢?

美第奇效应
2026-08-13 07:06:36
双腿被机器绞断近20个月后,他已经能借助助行器行走了!医生:远期有望脱离拐杖独立行走

双腿被机器绞断近20个月后,他已经能借助助行器行走了!医生:远期有望脱离拐杖独立行走

扬子晚报
2026-08-12 17:28:38
南昌梅湖景区悲剧:19 岁汉服少女无辜殒命,最可怕的是无差别恶意

南昌梅湖景区悲剧:19 岁汉服少女无辜殒命,最可怕的是无差别恶意

老欧讲大案
2026-08-13 08:00:16
威少正式宣布退役!效力7队征战18个赛季 多项数据创历史纪录

威少正式宣布退役!效力7队征战18个赛季 多项数据创历史纪录

罗说NBA
2026-08-13 05:17:18
头皮发麻!浙江女子清晨监控看到陌生男子蹲家门口拿多双鞋子猛闻;女子:损失超万元,每天提心吊胆;物业:涉事男子自称外卖员

头皮发麻!浙江女子清晨监控看到陌生男子蹲家门口拿多双鞋子猛闻;女子:损失超万元,每天提心吊胆;物业:涉事男子自称外卖员

大风新闻
2026-08-13 12:33:03
离谱到无解!日本女警白天执法晚上兼职,日本95后女警兼职风俗女,提供特殊服务偶遇同事

离谱到无解!日本女警白天执法晚上兼职,日本95后女警兼职风俗女,提供特殊服务偶遇同事

怪味历史连连看
2026-08-12 19:15:08
8月12日俄乌最新:5支乌军作战部队集体倒戈?

8月12日俄乌最新:5支乌军作战部队集体倒戈?

西楼饮月
2026-08-12 21:04:57
2026-08-13 14:08:49
我是一个粉刷匠2
我是一个粉刷匠2
有态度网友ytd
342文章数 165关注度
往期回顾 全部

头条要闻

30多吨价值超百万黑胡椒存冷库一年多"失踪" 警方介入

头条要闻

30多吨价值超百万黑胡椒存冷库一年多"失踪" 警方介入

体育要闻

负债十几亿的联赛,还在疯狂买球星

娱乐要闻

郭德纲魔改红歌被立案!

财经要闻

韩国可能迎来失去的三十年

科技要闻

DeepSeek V4 Pro更新:性价比炸裂 仍需打磨

汽车要闻

试了奇瑞捷豹路虎神行者8,才知道它的i-ATS有多强?

态度原创

健康
教育
家居
时尚
数码

身子歪≠脊柱侧弯,侧弯发病率没变

教育要闻

真是太厉害了,现在的小朋友也会做这么难的题目

家居要闻

2026建博会(广州) 公装联探展交流活动

婚纱照销毁潮,体面得有点好笑

数码要闻

TrendForce:2026年第二季度全球OLED显示器出货量同比增长98%

无障碍浏览 进入关怀版