深度优先搜索(DFS)
求解思路:
1、根据题意,画一棵树,这颗树的分支代表这每次搜索有几个状态(走或不走,取或不取,一般是两个状态,也有多个状态);
2、先写出口;
3、再写dfs的过程:枚举for
—判断是否被标记过if(!vis[i])
—没有标记,就先将状态变为1,然后将值存入数组—继续搜索dfs(dep+1)
—恢复现场
广度优先搜索(BFS)
求解思路:
将队首结点可拓展的点入队,如果没有可拓展的点,将队首结点出队。
重复以上步骤,直到到达目标位置或者队列为空。
BFS搜索到的结果一定是最短的。BFS运用到了队列。