搜索回溯.pptVIP

  • 58
  • 0
  • 约1.7万字
  • 约 57页
  • 2016-12-07 发布于河南
  • 举报
搜索回溯

* * * * * * * * * * * * * 2、剪枝处理 (1)搜索的起始值要比上一层搜索的起始值要大,这样既可以减少运行的时间,又可以避免重复解; (2)可行性剪枝 在每一次搜索前,如果当前搜索到数的倒数和+接下去要搜索的所有数倒数和小于X/Y,那就没有可能得出 一个解。我们可以中止它; 如果当前枚举值的倒数加上+上一层的和大于X/Y,也可以掐掉。 结论: 可行性剪枝是常用的一种剪枝手法 REMARK 1、实数处理中的误差处理; 2、常数项优化,如:每处数倒数事先预处理好,避免在搜索过程中重复运算 程序框架 Procedure DFS(T,Total:Longint;Sum:TIndex);{T代表数,TOTAL代表SUM中加入了多少数,SUM代表倒数和} Begin If Total=N Then //选出了n个数且倒数和与x/y的误差小于一定值,找到一个解。 Begin If Abs(Sum-Final)=Seed Then Inc(Ans); Exit; End; If (TM)or(TotalN)or(Sum+S[T]*(N-Total)Final-Seed){大致判断剩余能加的N-Total个数都加进来是否还比终值小剪枝}or(Sum+S[M]*

文档评论(0)

1亿VIP精品文档

相关文档