信息学奥赛培训课件 第15课 深度优先搜索(DFS)算法.pptxVIP

信息学奥赛培训课件 第15课 深度优先搜索(DFS)算法.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
假如你落入了一个迷宫,你该如何走出去呢?出口尝试走迷宫……出口先向上走走?注:图中绿色代表已经经过的地方出口遇到分叉,先走左边试试出口再往下走走试试出口是死路,退回去出口是死路,退回去,往前走走试试出口继续试……出口继续试……出口继续试……出口发现下面的路已经走过了……退回去出口换个方向走走试试……出口换个方向走走试试……出口继续试……出口继续试……出口继续试……出口继续试……出口继续试……出口继续试……出口出来了!!我们发现,刚刚走迷宫的方法有一个特点,沿着某个方向 “一走到底”,如果没有达到目的,就“退回”再沿着另外一个方向“一走到底”……事实上,这就是一个搜索的过程。DFS深度优先搜索Depth First Search深度优先搜索从一个起点(初始状态)开始搜索枚举每一个可能的点(可能的状态)入栈,递归搜索直至到达终点(终止状态),停止递归DFS的模板例瓷 砖红与黑(zoj2165 poj1979)【问题描述】在一个w×h的矩形广场上,每一块1×1的地面都铺设了红色或黑色的瓷砖。小林同学站在某一块黑色的瓷砖上,他可以从此处出发,移动到上下左右四个相邻的且是黑色的瓷砖上,现在,他想知道,通过重复上述移动所能经过的黑色瓷砖数。【输入格式】第1行为h、w,2≤w、h≤50,之间有一个空格隔开。以下为1个w行h列的二维字符矩阵,每个字符为‘.’‘#’‘@’,分别表示该位置为黑色的瓷砖、红色的瓷砖、小林的初始位置。【输出格式】输出一行一个整数,表示小林从初始位置出发可以经过的黑色瓷砖数。【输入样例】11 9.#......... .#.#######..#.#.....#. .#.#.###.#. .#.#..@#.#. .#.#####.#..#.......#. .#########............【输出样例】 59例UVA572 油田 Oil Deposits【题目描述】GeoSurvComp地质探测公司负责探测地下油田。每次GeoSurvComp公司都是在一块长方形的土地上来探测油田。在探测时,他们把这块土地用网格分成若干个小方块,然后逐个分析每块土地,用探测设备探测地下是否有油田。方块土地底下有油田则称为pocket,如果两个pocket相邻,则认为是同一块油田,油田可能覆盖多个pocket。你的工作是计算长方形的土地上有多少个不同的油田。【输入格式】输入文件中包含多个测试数据,每个测试数据描述了一个网格。每个网格数据的第一行为两个整数:m、n,分别表示网格的行和列;如果m=0,则表示输入结束,否则,接下来有m行数据,每行数据有n个字符(不包括行结束符)。每个字符代表一个小方块,如果为*,则代表没有石油,如果为@,则代表有石油,是一个 pocket。 1≤m≤100,1≤n≤100。【输出格式】对输入文件中的每个网格,输出网格中不同的油田数目。如果两块不同的pocket在水平、垂直、或者对角线方向上相邻,则被认为属于同一块油田。每块油田所包含的pocket数目不会超过100.【输入样例】 3 5*@*@***@***@*@*5 5****@*@@*@*@**@@@@*@@@**@0 0【输出样例】12例P1451 求细胞数量【题目描述】一矩形阵(n*m)列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。(细胞数字指1到9)【输入格式】第一行输入n和m(n,m20);第二行开始为该矩阵【输出格式】一共有的细胞个数。【输入样例】4 100234500067103456050020456006710000000089【输出样例】4例全排列问题:输出{1,2,3……n}的所有排列。3的全排列1 2 31 3 22 1 32 3 13 1 23 2 1回 溯回溯是搜索算法中的一种控制策略,它的基本思想是:为了求得问题的解,先选择某一种可能情况向前探索,在探索的过程中,一旦发现原来的选择是错误的,就退回一步重新选择,继续向前探索,如此反复进行,直至得到解或者证明无解。DFS的回溯模板例安排座位【问题描述】已知n(20)个人围着一个圆桌吃饭,其中每一个人都至少认识其他的2个客人。请设计程序求得n个人的一种坐法,使得每个人都认识他左右的客人。【输入格式】第一行:n(吃饭人的个数)。以下n行:第i行的第一个数k表示第i个人认识的人数,后面k个数依次为i认识的人的编号。【输出格式】所有坐法,要求第一个人为1号作为起点,按顺时针输出其他人的编号。seat.inseat.out62 3 63 4 5 63 1 4 63 2 3 53 2 4 64 1 2 3 51 3 4 2 5 61 3 4 5 2 61 6 2 5 4 31 6 5 2 4 34?分析:根据

您可能关注的文档

文档评论(0)

教育教学资料分享 + 关注
实名认证
文档贡献者

教师职称证、心理咨询师证持证人

文档资料有购买版权,文档价格问题,欢迎私聊,可以帮忙改价

领域认证该用户于2022年11月11日上传了教师职称证、心理咨询师证

1亿VIP精品文档

相关文档