广度优先搜索(BFS)
优点:时间效率高(时间复杂度低)
缺点:花费的空间大(空间复杂度高),求最优方案,能求全部方案(不建议,因为要求空间特别高)
框架:
void bfs()
{
队列首指针为h=0,t=1;
初始化,初始状态存入队列,初始状态的前驱为h;
h=0;
t=1;
while(h<t)
{
指针h后移一位,指向待扩展的结点;
for(int i=1;i<=max;i++)
{
if(子结点符合条件)
{
t指针加1,把新结点存入队尾;
t++;
if(判断是否到达终点) 通过找前驱计算路径长度与路径;
{
h=t;
break;
}
}
}
}
}