我初步了解的dfs

来源:互联网 发布:网络信息安全校园招聘 编辑:程序博客网 时间:2024/06/11 23:50

dfs 关键点有四个:位置,属性, 传递条件,传递方向。

位置:记录当前所处的位置, 以便继续dfs时改变当前位置,进入新位置,通常用来判断是否到达目标地点。

属性:有的dfs没有(如:BNU4071只有位置没有属性点击打开链接),有的则伴随着属性(如:蓝桥杯 地宫寻宝 中的宝贝最大值max点击打开链接)。属性通常用来剪枝。

传递条件:如hdu1175中必须沿着0走,其中0就是传递条件点击打开链接。

传递方向:如hdu1175的“上下左右”,BNU4071的“各种颜色”。


dfs深搜过程:在一个“位置”上沿着某个“方向”,来到另外一个“位置”,同时伴随着“属性”的变化,直到不满足“传递条件”,此时在“当前的位置”换个“方向”,再深搜。

整体上看来,dfs就是找出满足“传递条件”的一整块连在一起的区域。如:黑白像问题点击打开链接,找出所有边在一起的黑块。

0 0
原创粉丝点击