穷竭搜索(含dfs, bfs)
穷竭搜索
暴力枚举
略
DFS
深度优先搜索(图中数字代表搜索顺序)
隐含栈,搜索过程中将新出现的待搜索状态压入栈,下一次搜索从栈中取出的状态为刚刚入栈的状态。
例题 洛谷P1451
题目描述
一矩形阵列由数字 0 到 9 组成,数字 1 到 9 代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。
输入格式
第一行两个整数代表矩阵大小 n 和 m。
接下来 n 行,每行一个长度为 m 的只含字符 0
到 9
的字符串,代表这个 n×m 的矩阵。
输出格式
一行一个整数代表细胞个数。
输入输出样例
输入
1 |
|
输出
1 |
|
题解
1 |
|
BFS
宽度优先搜索(数字代表搜索顺序)
运用队列,新出现的待搜索状态放到队尾,等平行的所有搜索状态搜索完后才开始取出下一层的状态。
例题 UVA439
题目描述
输入8*8的国际象棋棋盘上的2个格子(列:ah,行:18),求马至少多少步从起点(键盘输入的第一个位置)跳到终点(键盘输入的第二个位置)。
输入输出样例
输入
1 |
|
输出
1 |
|
题解
1 |
|
另:一个关于搜索的网站click here
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!