2.15_knight_tour_骑士周游问题 (深度优先 DFS)

--- 骑士周游问题 ---
在国际象棋棋盘上,一个"骑士"按照"马走日"的规则
从一个格子出发,走遍所有棋盘格恰好一次,即为一次周游

思路 (深度优先 - Depth First Search (DFS)):
1. 将合法走棋次序表示为一个图
1)将棋盘格作为顶点
2)按照"马走日"规则的走棋步骤作为边
3)建立每个棋盘格的所有合法走棋步骤,能够到达的棋盘格关系图
2. 采用图搜索算法,搜寻一个长度为 (行*列-1) 的路径,路径上包含每个顶点恰好一次
3. 如果沿单支深入搜索到无法继续时,路径长度还没达到预定值
就清除颜色标记,返回上一层,换一个分支继续深入搜索
4. 使用栈记录路径,并实施返回上一层的回溯操作

from 2.14_vertex&graph import Graph 

def legal_moves(x, y, bd_

2.15_knight_tour_骑士周游问题 (深度优先 DFS)最先出现在Python成神之路

版权声明:
作者:admin
链接:https://www.techfm.club/p/20766.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>