《计算机算法设计与分析》回溯法.pptVIP

  • 16
  • 0
  • 约1.29万字
  • 约 74页
  • 2017-09-16 发布于安徽
  • 举报
*   四色猜想 在一个平面或球面上的任何地图能够只用4种颜色来着色,使相邻的国家在地图上着不同的颜色。假设每个国家在地图上是单连通区域,两个国家相邻则其边界长度不为0。 右图是一个有5个区域的地图及其相应的平面图。 * bool Color::Ok(int k) { //检查颜色可用性 for (int j=1;j=n;j++) if ((a[k][j]==1)(x[j]==x[k])) return false; return true; } 解向量:(x1, x2, … , xn)表示顶点i所着颜色x[i] 可行性约束函数:顶点i与已着色的相邻顶点颜色不重复。 void Color::Backtrack(int t) { if (tn) { sum++; for (int i=1; i=n; i++) cout x[i] ; cout endl; } else for (int i=1;i=m;i++) { x[t]=i; if (Ok(t)) Backtrack(t+1); } } * 复杂度分析 图m可着色问题的解空间树中内结点个数是 对于每一个内结点,在最坏情况下,用ok检查当前扩展结点的每一个儿子所

文档评论(0)

1亿VIP精品文档

相关文档