回溯法

回溯法的几个典型例子:

(1)图的m着色问题

a)问题描述:给定无向连通图 G 和 m 种不同的颜色。用这些颜色为图 G 和各顶点着色,每个顶点着一种颜色。是否有一种着色法使得图 G 中每条边的两个顶点着不同的颜色。这个问题是图的 m 可着色判定问题。若一个图最少需要 m 种颜色才能使图中的每条边连接的两个顶点着不同的颜色,则称这个数 m 为该图的色数。求一个图的色数 m 的问题称为图的 m 可着色优化问题

b)算法设计:

主要的思想是先将n个区域看做是n个节点,然后将n个节点每种可用颜色用书的一个节点所表示。例如n=3,m=3,第2层有三个节点,然后这三个节点又分别有3个孩子,最后利用深度优先遍历方法递归地对可行子树搜索,或剪去不可行子树。

 

 

posted @ 2013-09-27 16:05  wmm3416  阅读(139)  评论(0编辑  收藏  举报