
BFS
广度优先搜索算法
努力的老周
一个老码农,中年大叔。打过工,做过老板。
现有神兽一枚,努力培养神兽中。
展开
-
为什么 BFS 可以搜索到最短路径
估计很多初学者对这个问题一直明白,为什么使用 BFS 进行广度搜索,一定可以搜索到最短路径。讲真,在学校里学习 BFS 的时候,自己也没完全确认为什么。老师这么教,课本这么写,我就这么理解。其实回答这个问题很简单,请大家仔细观察下图,也就是使用 BFS 完成对树的搜索。比如,我要搜索节点 A 到节点 G 的最短路径。如下动图所示:在 BFS 中,我们使用了数据结构中的一个队列(qu...原创 2020-03-10 12:02:37 · 7071 阅读 · 4 评论 -
BFS 题目解题套路
BFS 基本套路使用 BFS 解决题目的基本套路如下:1、有一个数据结构描述起点和终点。2、有一个数据结构描述题目相关数据。比如走迷宫类型题目,需要迷宫长、宽、迷宫内容。3、一个队列 q,保存下一步访问的节点。4、一个访问属性,用于控制重复访问。5、一个距离属性,用于表示本节点距离起点的长度。6、一个访问策略。也就是如何从当前节点走到下一个节点。这是 BFS 中最难的。...原创 2020-03-05 21:28:18 · 1535 阅读 · 0 评论 -
BFS模板
前文,https://blog.youkuaiyun.com/justidle/article/details/104631780,我们对 BFS 进行了概要性介绍。从这里我们可以知道 BFS 的实现通常都需要队列 queue(FIFO特性)这个数据结构支持。BFS 基本框架下面,我们给出 BFS 算法的基本框架:1、使用合适的数据结构来描述问题。如描述一个迷宫。2、定义一个队列,来保存下一步...原创 2020-03-03 22:01:04 · 1044 阅读 · 0 评论 -
宽度优先搜索
概述宽度优先搜索算法,Breadth First Search,又称广度优先搜索,是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。Dijkstra 单源最短路劲算法和 Prim 最小生成树算法都采用了和宽度优先搜索类似的思想。BFS属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。...原创 2020-03-03 14:45:49 · 3592 阅读 · 0 评论 -
AtCoder题解——Beginner Contest 170——F - Pond Skater
题目相关题目链接AtCoder Beginner Contest 170 F题,https://atcoder.jp/contests/abc170/tasks/abc170_f。Problem StatementSnuke, a water strider, lives in a rectangular pond that can be seen as a grid withHeast-west rows andWnorth-south columns. Let(i,j) be ...原创 2020-06-15 17:41:15 · 843 阅读 · 0 评论 -
计蒜客题解——T1414:抠图
题目相关题目链接计蒜客,https://nanti.jisuanke.com/t/T1414。我的 OJ,http://47.110.135.197/problem.php?id=4768。题目描述蒜头君以前做一个图像处理的项目时,遇到了一个问题,他需要摘取出图片中某个黑色线圏成的区域以内的图片,现在请你来帮助他完成第一步,把黑色线圏外的区域全部变为黑色。已知图中除了黑线上的点...原创 2020-03-14 14:56:16 · 933 阅读 · 0 评论 -
计蒜客题解——T1769:合租
题目相关题目链接计蒜客,https://nanti.jisuanke.com/t/T1769。题目描述蒜头君来到一座陌生的城市打工,他和几个朋友合租一个房子。房东给他们发来了户型图,这个房子非常大,而且布局很奇怪。具体来说,房子可以被看做一个N×M的矩形,有墙壁的地方被标记为'#',其他地方被标记为'.'。通过'.'连在一起的区域被称作房间,现在蒜头君想知道,一共有多少个房间。...原创 2020-03-14 11:43:09 · 453 阅读 · 2 评论 -
洛谷题解——P1135:奇怪的电梯
题目相关题目链接洛谷,https://www.luogu.com.cn/problem/P1135。题目描述有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第 i 层楼(1≤i≤N)上有一个数字 Ki(0≤Ki≤N)。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如:3, 3 ,1...原创 2020-03-12 00:22:02 · 1670 阅读 · 0 评论 -
洛谷题解——P1126:机器人搬重物
题目相关题目链接洛谷,https://www.luogu.com.cn/problem/P1126。题目描述机器人移动学会(RMI)现在正尝试用机器人搬运物品。机器人的形状是一个直径 1.6 米的球。在试验阶段,机器人被用于在一个储藏室中搬运货物。储藏室是一个 N×M 的网格,有些格子为不可移动的障碍。机器人的中心总是在格点上,当然,机器人必须在最短的时间内把物品搬运到指定的地方。...原创 2020-03-10 14:49:31 · 1362 阅读 · 1 评论 -
洛谷题解——P1443:马的遍历
题目相关题目链接洛谷,https://www.luogu.com.cn/problem/P1443。题目描述有一个 n*m 的棋盘 (1 < n, m <= 400),在某个点上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步?输入格式一行四个数据,棋盘的大小和马的坐标。输出格式一个 n*m 的矩阵,代表马到达某个点最少要走几步(左对齐,宽 5 ...原创 2020-03-10 10:49:52 · 3833 阅读 · 0 评论 -
洛谷题解——P1162:填涂颜色
题目相关题目链接洛谷,https://www.luogu.com.cn/problem/P1162。题目描述由数字 0 组成的方阵中,有一任意形状闭合圈,闭合圈由数字 1 构成,围圈时只走上下左右 4 个方向。现要求把闭合圈内的所有空间都填写成 2。输入格式每组测试数据第一行一个整数 n。接下来 n 行,由 0 和 1 组成的 n×n 的方阵。方阵内只有一个闭合圈,...原创 2020-03-09 23:56:18 · 1566 阅读 · 1 评论 -
计蒜客题解——T1257:哆啦A梦的时光机
题目相关题目链接计蒜客 OJ,https://nanti.jisuanke.com/t/T1257。题目描述哆啦A梦有一个神奇的道具:时光机。坐着它,大雄和他的伙伴们能穿越时空,回到过去或者去到未来。有一天,大雄和他的伙伴们想穿越时空进行探险,可是时光机却出了一点故障,只能进行有限的时空穿越操作。大雄他们需要从现在出发,到达一个目标时间点进行探险,结束后再返回到现在,他们希望尽...原创 2020-03-08 20:47:28 · 2957 阅读 · 0 评论 -
BFS 遍历树的过程动态展示
如下图:图例说明:已经访问的树节点。还没有访问过的树节点。在等待访问队列的树节点。原创 2020-03-08 15:21:11 · 750 阅读 · 0 评论 -
BFS 走迷宫过程动态展示
如下图:图例说明:表示已经访问过迷宫节点。表示正在访问的迷宫节点。在等待访问队列的迷宫节点。原创 2020-03-08 15:17:33 · 732 阅读 · 0 评论 -
计蒜客题解——T1244:单词序列
题目相关题目链接计蒜客 OJ,https://nanti.jisuanke.com/t/T1244。题目描述蒜头君给出两个单词(开始单词和结束单词)以及一个词典。找出从开始单词转换到结束单词,所需要的最短转换序列。转换的规则如下:1、每次只能改变一个字母2、转换过程中出现的单词(除开始单词和结束单词)必须存在于词典中例如:开始单词为:hit,结束单词为:cog,词典为:...原创 2020-03-05 21:07:32 · 1642 阅读 · 2 评论 -
计蒜客题解——T1214:鸣人和佐助
题目相关题目链接计蒜客 OJ,https://nanti.jisuanke.com/t/T1214。题目描述已知一张地图(以二维矩阵的形式表示)以及佐助和鸣人的位置。地图上的每个位置都可以走到,只不过有些位置上有大蛇丸的手下,需要先打败大蛇丸的手下才能到这些位置。鸣人有一定数量的查克拉,每一个单位的查克拉可以打败一个大蛇丸的手下。假设鸣人可以往上下左右四个方向移动,每移动一个距离需...原创 2020-03-04 21:27:50 · 2717 阅读 · 0 评论 -
计蒜客题解——T1213:拯救行动
题目相关题目链接计蒜客 OJ,https://nanti.jisuanke.com/t/T1213。题目描述公主被恶人抓走,被关押在牢房的某个地方。牢房用 N×M(N,M≤200) 的矩阵来表示。矩阵中的每项可以代表道路(@)、墙壁(#)、和守卫(x)。英勇的骑士(r)决定孤身一人去拯救公主(a)。我们假设拯救成功的表示是 "骑士到达了公主所在的位置"。由于在通往公主所在位置的...原创 2020-03-04 21:08:12 · 3125 阅读 · 2 评论 -
一本通题解——1251:仙岛求药
题目相关题目链接一本通 OJ,http://ybt.ssoier.cn:8088/problem_show.php?pid=1251。计蒜客 OJ,https://nanti.jisuanke.com/t/T1212。题目描述少年李逍遥的婶婶病了,王小虎介绍他去一趟仙灵岛,向仙女姐姐要仙丹救婶婶。叛逆但孝顺的李逍遥闯进了仙灵岛,克服了千险万难来到岛的中心,发现仙药摆在了迷阵的深...原创 2020-03-04 13:15:42 · 5446 阅读 · 2 评论