算法设计与分析 课件 第六章 回溯法6.2.2 回溯法框架.ppt

算法设计与分析 课件 第六章 回溯法6.2.2 回溯法框架.ppt

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

计算机算法设计与分析第6章回溯法6.2.2回溯法框架回溯法基本步骤①定义问题的解空间:确定问题的解向量空间②确定易于有哪些信誉好的足球投注网站的解空间结构:通常为树或者图形式。③确定剪枝函数:确定问题的约束条件或者进一步有哪些信誉好的足球投注网站的限界条件,即解空间中的每个解必须满足的条件。④实现回溯法:根据问题的解空间、约束条件和有哪些信誉好的足球投注网站策略,以深度优先方式有哪些信誉好的足球投注网站,实现回溯法。⑤处理结果:在回溯法的递归过程中,可以根据需要对每个解进行处理,如对解进行输出等。6.2.2回溯法框架设问题的解是一个n维向量(x[1],x[2],...,x[n])Constraint(i)表示当前扩展结点处的约束函数。Bound(i)表示当前扩展结点处的的限界函数。h[j]表示当前扩展结点处x[i]第j个可取的值。print(x)表示输出得到的可行解。start[i]表示在当前扩展结点处未有哪些信誉好的足球投注网站过子树的起始编号。end[i]表示在当前扩展结点处未有哪些信誉好的足球投注网站过子树的终止编号。(1)迭代回溯法Iterative_Backtrack(x):begini?1whilei0do//还未回溯到头ifstart[i]end[i]then//第i层还有未有哪些信誉好的足球投注网站过的子结点 forj?start[i]toend[i]do//未有哪些信誉好的足球投注网站的结点逐个有哪些信誉好的足球投注网站 x[i]?h[j]//x[i]选择一个取值h[j] ifConstraint(i)andBound(i)then//x[i]满足约束条件和界限函数 ifx为可行解thenprint(x)elsei?i+1endif endif endforelse//回溯,返回上一层 i?i-1endifendwhileendi表示当前有哪些信誉好的足球投注网站层次i=0表示起始结点全部有哪些信誉好的足球投注网站完毕i层结点为死节点,则回溯(2)子集树形式的递归回溯法backtrack(x,i)beginifinthenprint(x)elseforj?start(i)toend(i)do//枚举i所有可能的路径 x[i]=h[j] ifConstraint(i)andBound(i)then//满足限界函数和约束条件 backtrack(x,i+1)endifendforendifend有哪些信誉好的足球投注网站到叶子结点,一个可行解出来对i层上每个子结点逐个有哪些信誉好的足球投注网站x[i]选择一个可取值递归到下一层(3)排列树形式的递归回溯法backtrack(x,i)beginifinthen print(x)elseforj?itondo //枚举i所有可能的路径 swap(x[i],x[j]) ifConstraint(i)andBound(i)then//满足限界函数和约束条件 backtrack(x,i+1) endif swap(x[i],x[j])//记得交换回来endforendifend将当前结点i和子结点j的取值交换回溯时,再交换回来1、包括每个分量的取值范围等等2、*我们先来定义几个符号:*1、包括每个分量的取值范围等等2、*我们先来定义几个符号:*

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档