知·识·概·要
【迷宫问题】
上一节深搜讲了个迷宫问题,今天在回顾一下(喜)。
今天,田所浩二的好朋友井上约田所去餐厅食雪(意味深),虽然田所学会了深度优先搜索,但井上早就预料到了田所会用深搜,专门强调田所不能用深搜。于是,田所又双叒叕被困在迷宫里力(大悲)。现在他十分甚至九分的需要另一种方法帮他成功赶到餐厅。
又要用什么方法呢?那就事深搜的好兄——宽度优先搜索罢!(狂喜)
【宽度优先搜索】
什么事宽度优先搜索?
宽度优先搜索又叫广度优先搜索,简称宽搜,与深搜类似,事一种对于树而言的搜索方法,但对于图而言使用的比较多。
宽搜类似于树的层次遍历,多用于求最短路径的题目,这就事宽搜与深搜的区别。
我们继续把迷宫抽象成一棵树;
这时,我们还需要一个一个一个一个队列存储经过的结点;
首先,田所从家出发,把家放到队列中;
从家可以直接到达A
点,将A
点放到队列中,然后把家弹出(悲);
从A
点可以直接到达C
、B
、G
三个点,将C
、B
、G
依次入队,然后把A
点弹出;
从C
点可以直接到达F
、E
、D
三个点,将F
、E
、D
依次入队,然后把C
点弹出;
从B
点没有可以直接到达的点,直接弹出;
从G
点可以直接到达H
点和餐厅,将H
和餐厅依次入队,然后把G
点弹出;