首页 > 编程语言 > 详细

回溯0--递归回溯算法框架

时间:2017-07-04 23:59:14      阅读:440      评论:0      收藏:0      [点我收藏+]

递归回溯算法框架

一、心得

 3 都是在for下的if下的 
 4 保存结果,找下一步,回溯,这三个是一起的
 5 还有一个到达目的地输出解放在外面就好 


search后面的k是轮数 

三个数组:
原数据数组
标记数组
储存结果数组

 

框架二 到目的地的情况要多加1,因为满足了的下一轮就好判断 

 

 

二、代码

 1 /*
 2 递归回溯算法框架:
 3 都是在for下的if下的 
 4 保存结果,找下一步,回溯,这三个是一起的
 5 还有一个到达目的地输出解放在外面就好 
 6 */ 
 7 /*
 8 框架一 
 9 */ 
10 int search(int k){
11     for(int i=1;i<=算法总数;i++){
12         if(满足条件){
13             保存结果
14             if(到目的地) 输出解;
15             else search(k+1);
16             恢复:保存结果之前的状态(回溯一步) 
17         }
18     }
19 } 
20 /*
21 框架二 
22 */ 
23 int search(int k){
24     if(到目的地) 输出解;
25     else 
26         for(int i=1;i<=算法总数;i++){
27             if(满足条件){
28                 保存结果
29                 search(k+1);
30                 恢复:保存结果之前的状态(回溯一步) 
31             }
32     }
33 } 

 

回溯0--递归回溯算法框架

原文:http://www.cnblogs.com/Renyi-Fan/p/7118943.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!