针对题型
没有明显结点的图
这里有两道典型例题
迷宫问题
分酒问题
也就是说,题目中有状态转移或者最短操作步骤数,就要考虑用bfs求解
bfs解法框架
1 预备工作
定义队列:存放结点
集合,或者一维,二维的数组:用于防止回溯到已经访问过的结点
结点类:必要的成员变量:depth(步骤数)
初始结点入队列
2 核心代码bfs
队列不为空时:
1)弹出一个结点
2)判断是否为最终结点(是否符合最终解要求),return
3)计算邻居
4)修改depth,set或visited数组,邻居入队
建议好好看看上面两道例题~