【无标题】寒假:dfs(深度优先搜索算法)

寒假:dfs(深度优先搜索算法)

一开始对于dfs的认知就和递归差不多,有点抽象,无法理解,在csdn上看了许多的博客,对dfs有了初步的了解,就是爆搜,遍历每一种情况,找到我们所需要的情况。

Dfs就像一棵树,每一次就是沿着树的树枝往下寻找树的分支,当找到最后一个支点,即到了分支的最下端,无法再寻找,然后就会return,返回上一次,上一个支点(这里就比较抽象)。看图。

Dfs其实了解其中的一个环节就可以。(有点难哈!)

Dfs代码中有两点比较重要,第一:判断什么时候结束输出结果,或者结束,都是需要return(可能有两个或者以上的判断);第二:回溯,就是当完成一个过程的时候进行dfs下一个过程,需要状态的还原。(一般需要定义一个数组来判断一个数用没用过啊等等)。

下面就上例子:将3个数放到3个箱子里------对1到3进行全排序。(当然也可以把三改成n,就是会运行比较久)

代码:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值