dfs总结

Dfs

深度优先搜索. 它是将当前状态按照一定的规则顺序,先拓展一步得到一个新状态,再对这个新状态递归拓展下去。如果无法拓展,则退回一步到上一个状态,再按照原先设定的规则顺序重新寻找一个状态拓展。如此搜索,直至找到目标状态,或者遍历完所有状态。所以,深度优先搜索也是一种“盲目”搜索(一条路走到黑)。

 

递归回溯法算法框架:

[一]

int Search(int k){

 for (i=1;i<=算符种数;i++)

  if (满足条件){

    保存结果

    if (到目的地) 输出解;

              else Search(k+1);

    恢复:保存结果之前的状态{回溯一步}

     }

 }

 

[二]

int Search(int k){

   if  (到目的地) 输出解;

   else

    for (i=1;i<=算符种数;i++)

     if  (满足条件) {

        保存结果;

                     Search(k+1);

        恢复:保存结果之前的状态{回溯一步}

       }

 }

 

posted @ 2022-08-23 21:13  shanyingrui  阅读(23)  评论(0编辑  收藏  举报