第5章_回溯法.pptVIP

  • 10
  • 0
  • 约 29页
  • 2017-02-14 发布于湖北
  • 举报
* 旅行售货员问题 解空间:排列树 private static void backtrack int i if i n if a[x[n - 1]][x[n]] Float.MAX_VALUE a[x[n]][1] Float.MAX_VALUE bestc Float.MAX_VALUE || cc+a[x[n - 1]][x[n]]+a[x[n]][1] bestc for int j 1; j n; j++ bestx[j] x[j]; bestc cc+a[x[n - 1]][x[n]]+a[x[n]][1]; else for int j i; j n; j++ // 是否可进入x[j]子树 if a[x[i - 1]][x[j]] Float.MAX_VALUE bestc Float.MAX_VALUE || cc+a[x[i - 1]][x[j]] bestc // 搜索子树 MyMath.swap x, i, j ; cc+ a[x[i - 1]][x[i]]; backtrack i + 1 ; cc- a[x[i - 1]][x[i]]; MyMath.swap x, i, j ; 复杂度分析 算法backtrack在最坏情况下可能需要更新当前最优解O n-1 ! 次,每次更新

文档评论(0)

1亿VIP精品文档

相关文档