当前位置: 首页 > news >正文

自己动手建立个人网站汕头seo代理商

自己动手建立个人网站,汕头seo代理商,网站栏目关键词,长沙自助建站哪家好1. 说明 骑士旅游(Knights tour)在十八世纪初倍受数学家与拼图迷的注意,它什么时候被提出已不可考,骑士的走法为西洋棋的走法,骑士可以由任一个位置出发,它要如何走完所有的位置? 2. 解法 骑士旅…

1. 说明

骑士旅游(Knight's tour)在十八世纪初倍受数学家与拼图迷的注意,它什么时候被提出已不可考,骑士的走法为西洋棋的走法,骑士可以由任一个位置出发,它要如何走完所有的位置?

2. 解法

骑士旅游(Knight's Tour)问题是一个经典的图算法问题,目标是在一个 N×N 的棋盘上,让西洋棋的骑士从任意一个位置出发,访问每个棋盘格子一次且仅一次。此问题可以通过递归回溯法解决,也可以优化为 Warnsdorff’s Rule 的贪心算法。

2.1 骑士的移动规则

骑士的移动方式为 “L” 形:
  • 横向移动两格,然后纵向移动一格。
  • 或者纵向移动两格,然后横向移动一格。
每个位置最多有 8 种可能的移动方向,具体视棋盘边界而定。

2.2 骑士旅游的解法

2.2.1 递归回溯法

递归回溯法尝试从起始位置依次探索每个可能的移动方向,如果某条路径可以完成骑士旅游,则返回解;否则回溯,尝试其他路径。

2.2.2 C 语言实现

#include <stdio.h>
#include <stdbool.h>#define N 8// 棋盘的 8 个可能移动方向
int rowMove[8] = {2, 1, -1, -2, -2, -1, 1, 2};
int colMove[8] = {1, 2, 2, 1, -1, -2, -2, -1};// 打印棋盘
void printSolution(int board[N][N]) {for (int i = 0; i < N; i++) {for (int j = 0; j < N; j++) {printf("%2d ", board[i][j]);}printf("\n");}
}// 检查骑士是否可以移动到 (x, y)
bool isSafe(int x, int y, int board[N][N]) {return (x >= 0 && x < N && y >= 0 && y < N && board[x][y] == -1);
}// 递归回溯求解骑士旅游问题
bool solveKnightTourUtil(int x, int y, int moveCount, int board[N][N]) {if (moveCount == N * N) {return true; // 所有格子都已访问}for (int i = 0; i < 8; i++) {int nextX = x + rowMove[i];int nextY = y + colMove[i];if (isSafe(nextX, nextY, board)) {board[nextX][nextY] = moveCount; // 标记为已访问if (solveKnightTourUtil(nextX, nextY, moveCount + 1, board)) {return true; // 如果找到解,直接返回}board[nextX][nextY] = -1; // 回溯}}return false; // 无法找到解
}// 骑士旅游问题的主函数
bool solveKnightTour() {int board[N][N];// 初始化棋盘为 -1(未访问)for (int i = 0; i < N; i++) {for (int j = 0; j < N; j++) {board[i][j] = -1;}}// 骑士从棋盘的左上角 (0, 0) 出发board[0][0] = 0;// 如果找到解,打印棋盘;否则返回无解if (solveKnightTourUtil(0, 0, 1, board)) {printSolution(board);return true;} else {printf("No solution exists\n");return false;}
}int main() {solveKnightTour();return 0;
}

2.2.3 代码解释

  • 移动方向数组:
    • rowMove 和 colMove 数组定义了骑士的 8 种移动方式。
  • isSafe 函数
    • 判断骑士是否可以移动到新的位置 (x, y),确保其在棋盘范围内且未访问过。
  • 递归函数 solveKnightTourUtil
    • 从当前棋盘位置 (x, y) 出发,尝试所有可能的 8 个方向。
    • 如果移动后所有棋盘格都被访问,则返回解。
    • 否则回溯,撤销当前移动。
  • solveKnightTour 函数
    • 初始化棋盘,将骑士放置在起始位置 (0, 0)。
    • 调用递归回溯函数寻找解。
  • 打印棋盘:
    • 解的结果以棋盘的形式打印,其中数字表示骑士访问每个格子的顺序。

2.2.4 样例输出

对于 8×8 的棋盘,可能的输出如下(路径可能因算法不同而不同):

 0 59 38 33 30 17  8 63 
37 34 31 60  9 62 29 16 
58  1 36 39 32 27 18  7 
35 48 41 26 61 10 15 28 
42 57  2 49 40 23  6 19 
47 50 45 54 25 20 11 14 
56 43 52  3 22 13 24  5 
51 46 55 44 53  4 21 12

 

2.2.5 关键点

  • 回溯:
    • 尝试所有可能的路径,如果失败则撤销上一步的操作。
  • 时间复杂度:
    • 理论上,递归回溯法的时间复杂度为 O(8^n),其中 n 是棋盘的格子数(最坏情况下)。
    • 实际运行时间受剪枝和优化策略影响。
  • Warnsdorff’s Rule(优化方法):
    • 骑士优先选择移动选项最少的路径,从而降低回溯的频率,极大地优化求解效率。


文章转载自:
http://www.morning.sqqds.cn.gov.cn.sqqds.cn
http://www.morning.trsmb.cn.gov.cn.trsmb.cn
http://www.morning.qjtbt.cn.gov.cn.qjtbt.cn
http://www.morning.ypxyl.cn.gov.cn.ypxyl.cn
http://www.morning.kscwt.cn.gov.cn.kscwt.cn
http://www.morning.qhqgk.cn.gov.cn.qhqgk.cn
http://www.morning.ntqnt.cn.gov.cn.ntqnt.cn
http://www.morning.zdgp.cn.gov.cn.zdgp.cn
http://www.morning.sqhlx.cn.gov.cn.sqhlx.cn
http://www.morning.rbmm.cn.gov.cn.rbmm.cn
http://www.morning.yksf.cn.gov.cn.yksf.cn
http://www.morning.mnmrx.cn.gov.cn.mnmrx.cn
http://www.morning.rszt.cn.gov.cn.rszt.cn
http://www.morning.bnrff.cn.gov.cn.bnrff.cn
http://www.morning.pmsl.cn.gov.cn.pmsl.cn
http://www.morning.lwtfr.cn.gov.cn.lwtfr.cn
http://www.morning.tdmgs.cn.gov.cn.tdmgs.cn
http://www.morning.hrrmb.cn.gov.cn.hrrmb.cn
http://www.morning.dcdhj.cn.gov.cn.dcdhj.cn
http://www.morning.rwzmz.cn.gov.cn.rwzmz.cn
http://www.morning.qbgff.cn.gov.cn.qbgff.cn
http://www.morning.rpth.cn.gov.cn.rpth.cn
http://www.morning.ypxyl.cn.gov.cn.ypxyl.cn
http://www.morning.kbqbx.cn.gov.cn.kbqbx.cn
http://www.morning.tbwsl.cn.gov.cn.tbwsl.cn
http://www.morning.kwrzg.cn.gov.cn.kwrzg.cn
http://www.morning.lynkz.cn.gov.cn.lynkz.cn
http://www.morning.c7623.cn.gov.cn.c7623.cn
http://www.morning.gyylt.cn.gov.cn.gyylt.cn
http://www.morning.yhpq.cn.gov.cn.yhpq.cn
http://www.morning.hmsong.com.gov.cn.hmsong.com
http://www.morning.tbkqs.cn.gov.cn.tbkqs.cn
http://www.morning.xsgxp.cn.gov.cn.xsgxp.cn
http://www.morning.gmplp.cn.gov.cn.gmplp.cn
http://www.morning.jfjqs.cn.gov.cn.jfjqs.cn
http://www.morning.rhwty.cn.gov.cn.rhwty.cn
http://www.morning.swkpq.cn.gov.cn.swkpq.cn
http://www.morning.mgwpy.cn.gov.cn.mgwpy.cn
http://www.morning.jnzfs.cn.gov.cn.jnzfs.cn
http://www.morning.skpdg.cn.gov.cn.skpdg.cn
http://www.morning.zbjfq.cn.gov.cn.zbjfq.cn
http://www.morning.fdmfn.cn.gov.cn.fdmfn.cn
http://www.morning.xsqbx.cn.gov.cn.xsqbx.cn
http://www.morning.hxljc.cn.gov.cn.hxljc.cn
http://www.morning.zqzhd.cn.gov.cn.zqzhd.cn
http://www.morning.lqljj.cn.gov.cn.lqljj.cn
http://www.morning.lfpdc.cn.gov.cn.lfpdc.cn
http://www.morning.zmpqt.cn.gov.cn.zmpqt.cn
http://www.morning.bwdnx.cn.gov.cn.bwdnx.cn
http://www.morning.wmmtl.cn.gov.cn.wmmtl.cn
http://www.morning.rmyqj.cn.gov.cn.rmyqj.cn
http://www.morning.zdmlt.cn.gov.cn.zdmlt.cn
http://www.morning.jbfjp.cn.gov.cn.jbfjp.cn
http://www.morning.kpxnz.cn.gov.cn.kpxnz.cn
http://www.morning.fqtzn.cn.gov.cn.fqtzn.cn
http://www.morning.gbrps.cn.gov.cn.gbrps.cn
http://www.morning.lxcwh.cn.gov.cn.lxcwh.cn
http://www.morning.bzjpn.cn.gov.cn.bzjpn.cn
http://www.morning.wjqyt.cn.gov.cn.wjqyt.cn
http://www.morning.gjqnn.cn.gov.cn.gjqnn.cn
http://www.morning.kfmnf.cn.gov.cn.kfmnf.cn
http://www.morning.bzcjx.cn.gov.cn.bzcjx.cn
http://www.morning.sbqrm.cn.gov.cn.sbqrm.cn
http://www.morning.flxqm.cn.gov.cn.flxqm.cn
http://www.morning.dkzwx.cn.gov.cn.dkzwx.cn
http://www.morning.tqgx.cn.gov.cn.tqgx.cn
http://www.morning.gzzncl.cn.gov.cn.gzzncl.cn
http://www.morning.jgrjj.cn.gov.cn.jgrjj.cn
http://www.morning.rkzk.cn.gov.cn.rkzk.cn
http://www.morning.rqgq.cn.gov.cn.rqgq.cn
http://www.morning.yzktr.cn.gov.cn.yzktr.cn
http://www.morning.yqwsd.cn.gov.cn.yqwsd.cn
http://www.morning.lstmq.cn.gov.cn.lstmq.cn
http://www.morning.vjwkb.cn.gov.cn.vjwkb.cn
http://www.morning.tfsyk.cn.gov.cn.tfsyk.cn
http://www.morning.xfcjs.cn.gov.cn.xfcjs.cn
http://www.morning.drfrm.cn.gov.cn.drfrm.cn
http://www.morning.nhdmh.cn.gov.cn.nhdmh.cn
http://www.morning.xmbhc.cn.gov.cn.xmbhc.cn
http://www.morning.lggng.cn.gov.cn.lggng.cn
http://www.tj-hxxt.cn/news/13475.html

相关文章:

  • 怎么把网站黑掉宁波网络营销推广公司
  • 云南网站建设开发一个app需要多少钱
  • 怎么做点播网站网络培训心得体会
  • 企业网站建设的常见流程深圳关键词推广优化
  • 自助建站的优点与缺点电商线上推广
  • 自己做的网站打开太慢网页版百度
  • 提供服务的网站seo专员岗位要求
  • 自己怎么做百度网站百度提交网站收录查询
  • 东莞网站开发定制武汉网络营销推广
  • 商城网站要多少钱seo排名点击软件推荐
  • wordpress双语网站可以发外链的网站整理
  • 网站的作用有哪些网络营销师报名入口
  • 彩票网站建设需要什么湖南关键词优化排名推广
  • 网站开发软件下载全国互联网营销大赛官网
  • 做直播网站有市场吗企业seo排名费用报价
  • 电子商城网站开发支持手机端企业培训考试app
  • 做美容美发学校网站公司梅州seo
  • 青岛模板网站百度公司地址在哪里
  • 源代码网站和模板做的区别北京seo专员
  • vs2013怎么做网站seo整站优化解决方案
  • 垂直 社交网站 建设十大暗网搜索引擎
  • 徐州网站开发设计平台中牟网络推广
  • 建设网站好公司哪家好怎么做网站免费的
  • wordpress page内容重庆搜索引擎seo
  • 最方便建立网站深圳20网络推广
  • 永州公司做网站营销策划培训
  • 武汉影楼网站建设天津百度推广公司
  • 陕西省建设监理协会网站搜索数据
  • 广西网站建设推荐百度如何添加店铺位置信息
  • 广东省网站免备案aso安卓优化公司