BFS(Breadth-First Search),广度优先搜索,又称宽度优先搜索。
目的
从某个状态出发,彻底地遍历所有可以到达的状态。
设s为初始状态,先搜索与s距离为k的所有节点,然后搜索和s距离为k+l的其他节点,重复过程直到结束。
复杂度
O(状态数*转移的方式)
数据结构
队列,先入先出(FIFO)
步骤
1、根节点(初始状态)进入空队列。
2、搜索队列的头部,成功,则返回结果;失败,则将该元素的所有后继依次存入队列,并将该元素出队列。
3、重复2过程,直到搜索成功或者队列为空。
4、结束
应用
最短路径
迷宫
题目
POJ 3278