- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2011集训队讲座第一讲--搜索,国家女子健身集训队,徐云丽离开了集训队吗,华英集训队,集训队,李丰吉特巴教学第一讲,王月皓最新讲道第一讲,天津华英集训队,国家集训队论文,阎岭金牌伦巴第一讲
预备知识 1.什么是队列? 2.什么是树? 3.什么是图? 队列 队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。(FIFO) 队列的实现方法 1.方法一: int(元素类型) Queue[MAX_NUM]; int top = 1,base = 0; 入队:Queue[ top ++ ] = 入队元素; 出队:int tmp = Queue[ base ++]; 2.方法二:(利用STL) #include queue using namespace std; queueint Q; 入队:Q.push(入队元素); 出队:int tmp = Q.pop(); 树 图 图的表示法 Index BFS(宽度优先搜索) (双向广搜) DFS(深度优先搜索) 什么是搜索问题 胜利大逃亡 基本概念 状态 隐式图 状态空间 状态转移 解答树 宽度优先搜索 BFS (breadth first search) 适用解决最优解问题 如:用时最少; 转弯次数最少; 代价最优; BFS 先遍历隐式图中通过一条边所能访问到的所有节点,然后访问通过两条边所能访问的所有节点,依次类推. 我们来看一个例子…. BFS的遍历方式 BFS队列的一些性质 BFS的Hash的方法 你是否又曾注意到 什么是剪枝? 即剪去解答树上已被证明不可能存在可行解或最优解的子树. 此题的剪枝方法 HASH(最常用) 标记已经遍历到的结点,若此后再出现该状态即可直接舍去,不对其进行入队操作。(关键:防止状态不必要的重复) 代码怎么写 关键字:队列的应用 状态的转移 Hash判重 BFS代码框架 while(队列不为空){ 弹出队列头结点 node temp = Q.pop(); 判断该状态是否为目的状态 if(temp.x == dx temp.y == dy) return temp.t; 从该结点状态转移到其他状态 for(int i = 0;i 4;I ++){//int go[][2] = {1,0,-1,0,0,1,0,-1}; int x = temp.x + go[i][0]; int y = temp.y + go[i][1]; int t = temp.t +1; } 有选择的选择未出现过的状态入队 if(hash[x][y] == false){ hash[x][y] = true; Q.push(newnode(x,y,t)); }} Nightmare Sample Input 3 3 3 2 1 1 1 1 0 1 1 3 4 8 2 1 1 0 1 1 1 0 1 0 4 1 1 0 4 1 1 0 0 0 0 0 0 1 1 1 1 4 1 1 1 3 反例 我们来看一个惊人的反例。 再来理解一下状态 且看下一个有趣的问题. 非常可乐 Sample Input 7 4 3 4 1 3 0 0 0 Sample Output NO 3 状态是什么? 你能回答吗? 还需要考虑 搜索的可行性: 可能被搜索到的状态数量:N*M*S == 1000000 如何防止相同状态不被重复搜索. 如何剪枝? 这里又是判断状态重复的Hash剪枝 怎么做? 利用hash[n][m][s] = 记录(n,m,s)状态是否曾经出现过. 还有问题吗?直接开搜! Ocean Currents Sample Input 5 5 04125 03355 64734 72377 02062 3 4 2 4 2 4 5 1 4 5 3 3 4 队列的性质 由于各个状态并不一定按照所用递增的时间入队,队列单调的性质遭到了破坏. 严重的后果,最先得到的解不一定是最优解. 怎么办? 维护队列的单调性. 使用优先队列:priority_queue. 优先队列 Ignatius and the Princess I Sample Input 5 6 .XX.1. ..X.2. 2...X. ...XX. XXXXX. 记录路径 记录前驱! 记录当前状态是由哪一个状态转移而来的 其他优先问题---逃离迷宫 Sample Input 2 5 5 ...**
您可能关注的文档
- 2011曹操传豪华版攻略 (玩家).pdf
- 2011枝丫材销号1.xls
- 2011未清订单管理跟踪分析.xls
- 2011模拟.ppt
- 2011法律培训.ppt
- 2011浙江.pdf
- 2011热点词汇.ppt
- 2011生长发育.ppt
- 2011秋季学期逻辑控制系统课件_1.ppt
- 2011移动通讯趋势.pdf
- 2011高考分析.ppt
- 2013年度全国专业技术人员职称外语等级统一考试(北京市考点地址).pdf
- 2014国家开发银行信用助学贷款网络答题答案.doc
- 2015-2020年中国商业收款机及POS机市场深度分析与前景发展战略规划研究报告.doc
- 2015-2020年中国水轮发电机市场调查与投资战略报告.doc
- 2015-2020年中国汽车万能表市场调查与投资潜力分析报告.doc
- 2015-2020年中国汽油车解码器市场深度调查与投资可行性报告.doc
- 2015-2020年中国白块菌市场评估及市场行情动态报告.doc
- 2015-2020年中国纯烧沼气发电机组市场深度调查与投资前景报告.doc
- 2015-2020年中国脂肪酶产业运营态势与投资前景分析报告.doc
文档评论(0)