数据结构-搜索
maoenci
这个作者很懒,什么都没留下…
展开
-
用栈实现深度搜索(Depth_first_search)
深搜的思路是:从起点开始,一直往下搜索,直到找不到路径,再回到原点“深搜”,算法实现时没有直接回到原点,因为比如0->1->2->3, 到3就没有了,但2还可以到4,就不用回到0再去搜索,回到2就可以了。源代码如下(c++):#include#includeusing namespace std;int p[101][101],f[101];stack s;int main(){ int原创 2009-11-21 19:50:00 · 2007 阅读 · 0 评论 -
用队列实现广度搜索(Breadth_first_search)
广度搜索就是从原点(0)开始,搜0能到达的所有,如1,再搜2能到达的。就是和原点距离为k,2k,3k...nk。源码如下(c++):#include#includeusing namespace std;int p[101][101],f[101];queue que;int main(){ int n,k,m,x,y; int i; while(scanf("%d",&n)!=EOF) {原创 2009-11-21 20:02:00 · 654 阅读 · 0 评论 -
连连看(hdu 1175)用队列实现广搜,并加入了动态规划
http://acm.hdu.edu.cn/showproblem.php?pid=1175 一道ACM题目,方法很经典,源码如下: #include#includeusing namespace std;int h[1005][1005];int v[1005][1005];int n,m,w,win;struct node{int x,y,flag,step;};queu原创 2009-11-22 21:13:00 · 614 阅读 · 0 评论