一.广度优先搜索
广度优先搜索缩写BFS,是一种一个节点一个节点便利的搜索方式。常用来算最短路径的问题。
如图:
像这样的一个迷宫,从s1开始。怎么走才算BFS呢?
从定义可以看出,我们就是要一个节点一个节点的走。从s1开始,走到下一层到s2.但是这次有两种情况,第一种情况是从s2到下一层,或者到与s2同层的s3与s4,而这种,就是广度优先算法的思想。
第一种就是深度优先算法,我们暂不做讨论。
广度优先搜索基本知识:
基本思想:
从初始状态S 开始,利用规则,生成所有可能的状态。构成的下一层节点,检查是否出现目标状态G,若未出现,就对该层所有状态节点,分别顺序利用规则,生成再下一层的所有状态节点,对这一层的所有状态节点检查是否出现G,若未出现,继续按上面思想生成再下一层的所有状态节点,这样一层一层往下展开。直到出现目标状态为止。