广度优先搜索(BFS)

来源:互联网 发布:c语言windows驱动编程 编辑:程序博客网 时间:2024/05/17 07:36

广度优先搜索(BFS)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。


算法:

1、构造由根组成的队列Q;

2、If Q的第一个元素x是目标节点 Then 停止;

3、从Q中删除x, 把x的所有子节点加入Q的末尾;

4、If Q空 Then 失败   Else goto 2.


举例:

八数码问题:

------输入:具有8个编号小方块的魔方


------输出:移动系列,经过这些移动,魔方达到如下状态

分析:

        每一个空有两种移动方法,可以转化成树形问题,按照算法搜索到红色部分跳出循环,输出解。如图



0 0
原创粉丝点击