步步为营(十五)搜索(一)DFS 深度优先搜索

本文通过一个寻找金梨子的果园地图问题,介绍了深度优先搜索(DFS)的基本概念和工作原理。在遇到障碍时,DFS能寻找到最短路径,并解释了其时间复杂度和剪枝优化。DFS适用于判断状态可达性和方案数量,但在记录最优解的过程中不如BFS有效。
摘要由CSDN通过智能技术生成

前方大坑预警!

先讲讲什么是搜索吧。

有一天你去一个果园摘梨子,果农告诉你,有一棵树上有一个金子做的梨子,找到就是你的,你该怎么找?
地图如下:
S 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 G

废话,挨个找呗~ 这就叫做搜索。

在一个区间内找到符合条件的值的过程,就是搜索。(?)

最简单的就是穷举,挨个找。因为都可以走,所以从(1,1)到(n,n)一路走过去,能找到就行。

但是果农告诉你,这个果园有的位置是肥料坑~你不能过去(当然,你非要去坑里游两圈也不拦着你),那么这个果园的地图就成了这个样子。

S 0 1 1 0
0 1 0 0 0
0 0 1 1 0
0 1 0 0 0
0 0 0 0 G

这个时候,果园又来了好几个摘梨子的,果农就说:“金梨子只有一个,你们谁最先找到就归谁!”

那么如何去寻找到一条最短的路程呢?

这时候就该用一些策略了,于是,DFS(深搜)登场了。

首先,为什么叫深度优先搜索?

深度,在这种环境下,可以看做离起始位置的步数。

更学术点的说法,可以看做“单位距离下,离起始状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值