DFS算法的循环结束条件

写DFS算法时,最好在函数入口处判断边界条件与结束条件,如

void dfs () {

  check_bound();

  check_end();

  dfs();

}

这样的好处有:

1,写算法的时候,首先是要考虑空输入的,如vector<int>{}这样的初始输入,所以要么在dfs之前判断,要么在dfs入口判断,在dfs入口判断之后,在dfs内部,进入下一层dfs时,

便不再需要进行边界检查,因为下一层dfs的入口会自己检查边界

2, 在检查完边界保证不会越界之后,对结束条件的判断更加不容易出错(才怪), 就是说,结束dfs的条件判断要仔细一点啊,否则能找到的变成找不到就超时啦!!

posted on 2016-03-26 22:12  远近闻名的学渣  阅读(771)  评论(0)    收藏  举报

导航