搜索算法-DFS再探究.pptVIP

  • 3
  • 0
  • 约8.44千字
  • 约 46页
  • 2021-08-30 发布于湖北
  • 举报
例题4扩充 靶形数独 每一个方格都有一个分值,而且如同一个靶子一样,离中心越近则分值越高。 完成一个给定的数独,而且要争取更高的总分数。总分数即每个方格上的分值和完成这个数独时填在相应格上的数字的乘积的总和。 例题4扩充 靶形数独 与数独类似,难点在于需要找出所有的填充方案。 剪枝? 设已经找到最大分数为max 当前已经填充的格子分数和为cur 未填充的格子最大可能分数和为rest 若cur+restmax则剪枝 操作代价太大! 例题4扩充 靶形数独 搜索顺序 分值越大的越先搜索? 按照分值大小来搜索,目的是为了依据分数来剪枝,但剪枝的操作代价太大 反正都必须一搜到底,分值大小对减少搜索没有意义 可选择的数字越少越先搜索 可大大减少搜索树的分支 例题4扩充 靶形数独 搜索顺序数组 sz[i][j] i:0~81,待填的空白格子数 j:0、1,空白格子坐标 2,格子可填数字的数量 搜索顺序数组排序(一边排序一边更新k值) 设待排序区间为sz[a]~sz[b] 查找最小的sz[i,2],sz[i]??sz[a] 在sz[a+1]~sz[b]中查找与sz[a]在同一列或同一行或同一区域的格子sz[j],将sz[j,2]值减1 例题4扩充 靶形数独 其它优化 采用位运算来减少判断操作:把每行、每列、每个区域可填的数用二进制集合表示,求3者交集来快速确定可填数字

文档评论(0)

1亿VIP精品文档

相关文档