bool check(参数)
{
if(满足条件)
return true ;
return false;
}
void dfs(int step)
{
判断边界//判断边界可以放在下面尝试每一种可能里面
{
相应操作
}
尝试每一种可能(for循环这种)
{
满足check条件
标记
继续下一步dfs(step+1)
恢复初始状态(回溯的时候要用到)(return前面)只进行本行循环的初始化。
}
}
深度优先搜索算法(英语:Depth-First-Search,简称DFS)是一种用于遍历或搜索树或图的算法。 沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过或者在搜寻时结点不满足条件,搜索将回溯到发现节点v的那条边的起始节点。整个进程反复进行直到所有节点都被访问为止。