道生一,一生二,二生三,三生万物。—道德经
我们都知道,基础的搜索算法有深搜DFS和广搜BFS。它们的搜索效率都差不多,都是O(E)。只是对于不同的搜索特点,有各自适用场合。
假如有这样一棵树,在写搜索算法之前先分析一下。
如果目标结点在叶子上的可能性非常大,那么通常用深搜。
如果希望目标结点的位置尽可能地离根结点近,那么通常用广搜。
如果目标结点与位置无关,而是每条路径都有一个权值,权...
分类:
编程语言 时间:
2015-10-24 17:30:18
阅读次数:
255
XYZ and DropsTime Limit: 3000/1500 MS (Java/Others)Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1250Accepted Submission(s): 407Proble...
分类:
其他好文 时间:
2015-08-04 00:16:55
阅读次数:
228
题目链接:http://poj.org/problem?id=3278
这是一道广搜的模板题,我就不解释了,直接看代码;
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define LL long long
#define MAXN 100000
using ...
分类:
其他好文 时间:
2015-07-22 10:44:27
阅读次数:
102
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2612 , 一道比较简单的广搜(BFS)题目。算法: 设置两个dist[][]数组,记录Y和M到几个KFC的距离,最后求两个dist的和的最小值即可。 还有,Y是可以走M的位置的,同理,M也可以走...
分类:
其他好文 时间:
2015-03-14 01:02:52
阅读次数:
182
题目链接:http://i.cnblogs.com/EditPosts.aspx?opt=1Catch That CowTime Limit: 5000/2000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submi...
分类:
其他好文 时间:
2015-02-18 18:47:58
阅读次数:
153
Adjacency Matrix
邻接矩阵是表示一个图的常用存储表示。它用两个数组分别存储数据元素(顶点)的信息和数据元素之间的关系(边或弧)的信息。阶为n的图G的邻接矩阵A是n*n的。将G的顶点标签为v_1,v_2,...,v_n。若(v_i,v_j)
\in E(G),A_{ij}=1,否则A_{ij}=0。
Depth-First-Se...
分类:
其他好文 时间:
2014-12-02 16:40:54
阅读次数:
144
判重+广搜(bfs)】魔板Time Limit: 1000MSMemory Limit: 32768KBSpecial Judge有一个两行四列的魔板,每个格子里有一个1到8的数字(数字唯一),现在我们可以对魔板进行以下操作:1.交换两行的数字。2.将第一列移到第二列,第二列到第三列,第三列到第四列...
分类:
其他好文 时间:
2014-10-25 21:22:07
阅读次数:
421
题目:nyist 999 师傅又被妖怪抓走了
分析:在一个图中只要看到D点和E点就行的最小步数,看到的定义是:也就是说两个人在同一行或者同一列,并且中间没有障碍物或者没有其他人就可以看到对方。
所以可以先预处理地图,把D点和E点所在的行列的‘ .’扩展为d和e,然后只要搜到d和e就可以,问题是只有d和e同时搜到才行,直接广搜肯定不行,我们可以在搜到d点之后然后在从当前点广搜e点,或者e...
分类:
其他好文 时间:
2014-10-10 12:00:54
阅读次数:
249
马上又要秋招了,赶紧复习下基础知识。这里复习下二叉树和图的深搜与广搜。从图的遍历说起,图的遍历方法有两种:深度优先遍历(Depth First Search), 广度优先遍历(Breadth First Search)。图搜索的经典应用走迷宫、N皇后、二叉树遍历等。遍历:定义按某种顺序访问“图”中所有的节点。...
分类:
其他好文 时间:
2014-08-24 12:58:32
阅读次数:
8475