摘要:
(发表时间: 2007-3-14 19:12:00)【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/cruxd/23967.html 复制链接分享到: 0 tieren同学提问,“深搜和动态规划有什么区别与联系呢”,留言板上写不下,把题目扩充一下,写到这里来。 在我看来,广搜和动态规划更像些:两者都是从上往下计算,在程序中都可以从前到后分出很明显的层次。广搜采用的是队列,后进前出,队列中每一个元素需要记录下他的层次;而动归中一个状态就是一个层次。而深搜是先按第一种算法(如,搜索第一个元素)从第一层计算到最后一层,(一般而言是算那些是否有解... 阅读全文
摘要:
#include <stdio.h>#include<string.h>#include<queue>#include<string>using namespace std;bool vis[7];char a[7],re[7];int len;string ss;queue<string> s;void dfs(int cur){ if(cur>=len) { // for(int i=0;i<len;i++) // printf("%c",re[i]); re[len+1]='\0' 阅读全文
摘要:
深搜(入门篇)分类: 回溯 2011-02-17 10:15 400人阅读 评论(0) 收藏 举报学习深搜有一些时间了,个人感觉深搜满足一定的形式:[cpp] view plaincopyvoid dfs (int a,……) //参数个数不确定 { if (……) //边界条件 { …… } else { dfs(a+1,……); } } 若是再具体一些的话:[cpp] view plaincopyvoid dfs (int a,……) ... 阅读全文