先普及一下, 什么是广度优先搜索
广度优先搜索类似于树的层次遍历。从图中的某一顶点出发,遍历每一个顶点时,依次遍历其所有的邻接点,然后再从这些邻接点出发,同样依次访问它们的邻接点。...广度优先遍历图的方式,是以一种类似波纹扩散的方式进行的,不断放大辐射半径,进而覆盖整张图。
一. 理解广度优先算法
我们要实现的是广度优先算法走迷宫
比如,我们有一个下面这样的迷宫
?...这个例子是抛转隐喻, 介绍广度优先算法, 广度优先算法的应用很广泛, 所以, 先来看看规律
1. 分析如何进行广度优先探索
第一步, 我们先明确起点. 这个起点有上下左右四个方向可以探索....第八步: 广度优先算法, 什么时候结束呢? 两种情况
第一种: 走到最后13的位置
第二种: 死路, 走到一个位置, 不能再走了. 如何判断呢?...代码实现广度优先算法走迷宫
第一步: step代表从start开始, 走了多少步走到目标点, 最后的路径是通过这个创建出来的, 最后从后往前推就可以算出最短路径
第二步: 定义一个队列, 用来保存已经发现还未探索的点