摘要: 出处:http://www.cnblogs.com/grenet/p/3163550.html在“跳跃的舞者,舞蹈链(Dancing Links)算法——求解精确覆盖问题”一文中介绍了舞蹈链(Dancing Links)算法求解精确覆盖问题。本文介绍该算法的实际运用,利用舞蹈链(Dancing Links)算法求解数独在前文中可知,舞蹈链(Dancing Links)算法在求解精确覆盖问题时效率惊人。那利用舞蹈链(Dancing Links)算法求解数独问题,实际上就是下面一个流程1、把数独问题转换为精确覆盖问题2、设计出数据矩阵3、用舞蹈链(Dancing Links)算法求解该精确覆盖问题 阅读全文
posted @ 2013-10-13 13:27 海拉鲁的林克 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 出处:http://www.cnblogs.com/grenet/p/3145800.html精确覆盖问题的定义:给定一个由0-1组成的矩阵,是否能找到一个行的集合,使得集合中每一列都恰好包含一个1例如:如下的矩阵就包含了这样一个集合(第1、4、5行)如何利用给定的矩阵求出相应的行的集合呢?我们采用回溯法矩阵1:先假定选择第1行,如下所示:如上图中所示,红色的那行是选中的一行,这一行中有3个1,分别是第3、5、6列。由于这3列已经包含了1,故,把这三列往下标示,图中的蓝色部分。蓝色部分包含3个1,分别在2行中,把这2行用紫色标示出来根据定义,同一列的1只能有1个,故紫色的两行,和红色的一行的1 阅读全文
posted @ 2013-10-13 13:22 海拉鲁的林克 阅读(264) 评论(0) 推荐(0) 编辑