- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
深度优先搜索
今天来说说深度优先搜索,属于搜索回朔类的算法,相对比较有趣。
关于这个算法的最早传说出现在古希腊时代:
没落贵族的忒修斯 (没落到被选为了祭品),爱上了残暴国王弥诺斯的女儿阿里阿德涅
公主,而未来的岳父却决定把可怜的忒修斯送到克里特岛喂牛头怪。
这个特里克岛可是国王的呕心沥血之作,岛上最著名的建筑就是地下迷宫,据说被扔进
去了谁都绕不出来,就算你运气好,找到正确的路,还有一头凶猛的牛头怪养在必经之路上,
送到岛上作为祭品的人从来没能活着回来。
变态的特里克岛,但现在是旅游胜地
按常理忒修斯也难逃厄运,但后来的故事印证了两个亘古不变的真理:1,女人是不可靠
的,女儿也不例外 2 ,穷小子要翻身,就得靠女人
在忒修斯出发前,小伙子费劲脑汁与阿里阿德涅公主又见了最后一面,在这次历史性的
会晤中,公主送给了穷小伙两件足以挽救其性命的礼物:一团毛线和一把据说唯一能杀死牛
头怪的剑。
公主送毛线自然不是要教夫君打毛衣,而是指导他:“把线头系于迷宫入口处,一路放线
团,一边进入到迷宫,杀掉牛头怪,再循着线团走出迷宫”。
果然,忒修斯按照公主的方法顺利走到了迷宫中央,经过一番搏斗杀死了牛头怪,并沿
着毛线退出了迷宫。按理说后续应该是个大团圆的结局:忒修斯回到王国迎娶公主,三两年
后国王病逝忒修斯继承王位,于是国王与王后过上了幸福的生活。
不过古希腊的剧作家个个都是苦大仇深,不爱写大团圆的结尾,一般都要主人公死光光
或落下终身残疾才成。这个故事的详细结局可以自行搜索,反正可怜的算法大师、深度优先
搜索算法的缔造者阿里阿德涅公主最后跳入大海喂鲨鱼了。
这个故事大家在小时候肯定都或多或少的知道,现在我们作为一名算法爱好者,应该考
虑一个在原著中被忽略的很重要的细节:为什么一团毛线,就可以让忒修斯顺利的找到牛
头怪,并能成功返回迷宫出口呢?
请大家思考,吃午饭去了,回来再写。
接着讨论这个问题:“为什么一团毛线,就可以让忒修斯顺利的找到牛头怪,并能成功返回
迷宫出口呢?”
事实上,如果只有毛线是不可能的,至少无法保证忒修斯顺利找到牛头怪!
当你在迷宫中遇到讨厌的岔路时,毛线只能让你知道回去该走哪条路,却无法告诉前方
该如何选择。毛线只能保证忒修斯可以全身而退,却无法指引牛头怪的方向。
这当然不能怪毛线,作为一团没有任何智能的妇女用品,它只能做到这一步了。
那可怜的忒修斯在迷宫中面对每一处岔路,是如何选择正确方向的呢?很遗憾,在大多
数情况下,他并没能做出正确的选择,但也没有像前人一样迷失在迷宫中被饿死,而是最终
找到了牛头怪并铲除了它!人和人的差距为什么这么大捏??因为在出发前,阿里阿德涅公
主在他耳边悄悄的说了一个口诀。
正是这个口诀,揭开了深度优先搜索的全部秘密。
口诀的内容,现在听起来很像游戏秘籍,比如魂斗罗调30 条命……“上上下下左左右右”!
是的,你没听错,伟大的秘密就隐藏在这么简单的口诀中。
我来给大家解释一下,这个口诀指导了忒修斯进入迷宫后的行走规则,即:每当遇到岔
路需要做出选择时,都优先选择往上走(如果上下左右不直观可以理解为东西南北),如果
无法走【无法走的定义是:此路是死路,或此路上有毛线,代表已经走过了】,下一个选择
是往下走,如果还不行就往左走,再不行就往右走。如果四个方向都不行捏?很简单,说明
这个地儿来错了,顺着毛线退回到上一个岔路口,选择下一个方向再次尝试。(如果你没看
明白一会儿有图例说明)
大家可能看出来了,这实际上是一个挺笨的方法,就是“前进-碰壁-转方向-前进-碰
壁-转方向-前进-碰壁-后退-转方向-前进……”的不断重复,但有了这个口诀和毛线,
忒修斯就算回绕一些弯路,但最终一定能找到牛头怪。
总结时间:忒修斯能安然无恙的进出迷宫、找到目标,靠的是毛线和口诀。
毛线:记录着每一个岔路口的选择,可以利用它退回到上一个路口重新选择方向。在编
程中,往往会使用数据结构栈来实现(不明白栈操作的赶快百度一下啦),或者用一维数组
也可以。
口诀:算法的关键,用流程图表示会比较清楚,可惜手头没有Visio 之类的,哪位同学
有兴趣可以画一个发给我啊。
下面用4 幅图来说明这个过程:
第一幅图是简单的迷宫,左下角是入口,右上角是出口,接下来为方便演示,我们按照“右
上左下”的优先级顺利来进行探索(即遇到岔路先选择走右面,不行选择上面,然后是左面,
下面)。
图中的线条相当于毛线,记录
您可能关注的文档
- 精选消费者行为学第一章.ppt
- 精选消防安全技术实务背诵第一篇第二篇背诵歌.pdf
- 精选消防体验室.pdf
- 精选消防体验馆建设.pdf
- .消防整改方案.doc
- 精选消防安全标准化管理培训.pptx
- 精选消防演练策划书.doc
- 推荐消防安全科普馆.pdf
- 精选消防安全科普馆选型.pdf
- 精选消防教育馆生产厂家.pdf
- 2.1神经调节的结构基础 课件 人教版高中生物学选择性必修1.pptx
- 2.2.1算术平方根 课件 北师大版数学八年级上册.pptx
- 2.3.1细胞通过分裂而增殖 课件(内嵌视频3个)初中生物学北师大版(2024)七年级上册.pptx
- 2.3.2细胞分化形成组织 课件 初中生物学北师大版(2024)七年级上册.pptx
- 4.3.1 角与角的大小比较 课件 2025-2026学年湘教版数学七年级上册.pptx
- 2.3.3生物体的器官、系统 课件 初中生物学北师大版(2024)七年级上册.pptx
- 聚异氰酸酯行业商业计划书.docx
- 2.4节神经系统的分级调节 课件 人教版高中生物学选择性必修1.pptx
- 【公开课】探索勾股定理第1课时(课件)数学北师大版2024八年级上册.pptx
- 综合实践 一天的时间(课件)2025-2026学年度苏教版数学三年级上册.pptx
文档评论(0)