搜索入门及深搜广搜演示.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
搜索入门及深搜广搜演示

搜索初探 --赵国振 为什么 搜索 我们有时会碰到一些题目,它们既不能通过建立数学模型解决,又没有现成算法可以套用,或者非遍历所有状况才可以得出正确结果。这时,我们就必须采用搜索算法来解决问题。几乎每次ACM竞赛都要考察到这方面的内容。因此,如何更深入地了解搜索,从而更为有效地运用这个解题的有力武器,是一个值得深入研究的问题。要掌握搜索的应用技巧,就要了解它的分类及其各方面的特点。 一、回溯算法 回溯算法是所有搜索算法中最为基本的一种算法,其采用了一种“走不通就掉头”思想, 一般的,深搜其实用的就是回溯思想,下面来看一下回溯的过程演示 回溯过程演示-起始 Graph map; Void dfs(位置 u) { map[u] = 红色; for (u 的四个方向的位置 v) { //v按照u的右左下上的顺序 if (v可访问) dfs(v); } map[v] = 白色; } 回溯过程演示-1 Graph map; Void dfs(位置 u) { map[u] = 红色; for (u 的四个方向的位置 v) { //v按照u的右左下上的顺序 if (v可访问) dfs(v); } map[v] = 白色; } 回溯过程演示-2 Graph map; Void dfs(位置 u) { map[u] = 红色; for (u 的四个方向的位置 v) { //v按照u的右左下上的顺序 if (v可访问) dfs(v); } map[v] = 白色; } 回溯过程演示-3 Graph map; Void dfs(位置 u) { map[u] = 红色; for (u 的四个方向的位置 v) { //v按照u的右左下上的顺序 if (v可访问) dfs(v); } map[v] = 白色; } 回溯过程演示-4 Graph map; Void dfs(位置 u) { map[u] = 红色; for (u 的四个方向的位置 v) { //v按照u的右左下上的顺序 if (v可访问) dfs(v); } map[v] = 白色; } 回溯过程演示-5 Graph map; Void dfs(位置 u) { map[u] = 红色; for (u 的四个方向的位置 v) { //v按照u的右左下上的顺序 if (v可访问) dfs(v); } map[v] = 白色; } 回溯过程演示-6 Graph map; Void dfs(位置 u) { map[u] = 红色; for (u 的四个方向的位置 v) { //v按照u的右左下上的顺序 if (v可访问) dfs(v); } map[v] = 白色; } 回溯过程演示-7 Graph map; Void dfs(位置 u) { map[u] = 红色; for (u 的四个方向的位置 v) { //v按照u的右左下上的顺序 if (v可访问) dfs(v); } map[v] = 白色; } 回溯过程演示-8 Graph map; Void dfs(位置 u) { map[u] = 红色; for (u 的四个方向的位置 v) { //v按照u的右左下上的顺序 if (v可访问) dfs(v); } map[v] = 白色; } 回溯过程演示-到达 Graph

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档