码迷,mamicode.com
首页 > 其他好文 > 详细

回溯法

时间:2016-04-08 08:58:10      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

适用情景:

  要求满足某些限制条件下,求得全部解或者最优解。

 

步骤:

  把解集合,划分成树状或图状的空间;每一层的选择对应于解的一部分(如第n层对应于解得第n部分)。

  如果某分支上,第n层仍然满足条件,那么继续遍历到第n+1层;否则,回溯到第n-1层,去其他树枝上遍历(这里节省了时间)。这里实际是深度优先遍历!

  如果到了最后一层,那么证明这是一个合理的解;至于是否是最佳解,需要比较。

技术分享

如上图所示,树总共有4层,第0层表示开始,无具体意义,表明解空间有3个可选部分。

第1到第n层,如果支线上数字为1,表示选择解部分s[n];如果为0,表示不选择该解部分s[n]

到第n层(111,110,......,000),表示求得一个解。

 

例子:

http://blog.csdn.net/jarvischu/article/details/16067319

  

回溯法

标签:

原文地址:http://www.cnblogs.com/johnchow/p/5366417.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!