递归与回溯

Posted wkcode

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归与回溯相关的知识,希望对你有一定的参考价值。

递归的一般结构:

void f(){
  if(符合的条件){
       ...
       return;    
  }  
  
   某种形式的调用
   f()  
}

回溯的一般结构:

void dfs(T t,...){
     if(当前状态为边界状态)  
     {  
            记录或输出  
            return;  
     }  
     for(i=0;i<n;i++)       //横向遍历解答树所有子节点  
     {  
        //扩展出一个子状态。  
        修改了全局变量  
        if(子状态满足约束条件)  
        {  
            dfs(子状态)  
        }  
        恢复全局变量//回溯部分  
     }  

}    

 

以上是关于递归与回溯的主要内容,如果未能解决你的问题,请参考以下文章

八皇后,回溯与递归(Python实现)

递归与回溯4:一文彻底理解回溯

数据结构与算法-暴力递归与回溯

递归与回溯:python列表组合问题

算法漫游指北(第十篇):泛型递归递归代码模板递归思维要点分治算法回溯算法

素数环(递归 搜索 回溯)