马走日棋盘算法
2010-01-23 20:32:21 来源:WEB开发网核心提示:限制条件:1. 1 <= x’ <= n , 1 <= y’ <= m; ( n : 棋盘的高度 , m: 棋盘的宽度 );2. ( x’ , y’ ) 必须是棋子记录表中没有包括的新位置;3. 棋子走子过程记录表中没有包括棋盘上的所有可以落子的位
限制条件:
1. 1 <= x’ <= n , 1 <= y’ <= m; ( n : 棋盘的高度 , m: 棋盘的宽度 );
2. ( x’ , y’ ) 必须是棋子记录表中没有包括的新位置;
3. 棋子走子过程记录表中没有包括棋盘上的所有可以落子的位置;
对这个过程不停迭代的过程也就是对解空间搜索的过程, 搜索直到棋子走子记录表中包括棋盘上的所有可以落子的位置 , 就搜索到了一条可行的路径,路径包括棋盘上的所有落子点;或者搜索完整个解空间,仍然找不到一条可行的解,则搜索失败;
下面我们举例来说明搜索的过程;
棋盘大小 : 5 * 5
棋子起始位置 : ( 3 , 3 )
搜索过程 :
(1) 从当前位置( 3 , 3 )出发可以有8个新的位置选择; 首先选择新位置1 , 将新位置1
作为当前棋子位置 , 开始新的搜索;
如果搜索不成功, 则搜索回退, 选择新位置2 ,以此类推,就可以搜索完整个解空间,只要从该问题有解 , 则可以保证一定可以搜索到;
- ››马走日棋盘算法
- ››算法大全(3) 二叉树
- ››算法
- ››算法从哪学起
更多精彩
赞助商链接