网站首页 | 经济学论文 | 证券金融 | 管理学 | 会计审计 | 法学论文 | 医药学论文 | 社会学论文 | 教育论文 | 计算机 | 艺术论文 | 哲学论文 | 财务管理 |
写论文网
  • 基本理论
  • 融资决策
  • 财务分析
  • 投资决策
  • 财务控制
  • 其他相关
  • 您的位置:写论文网 > 财务管理 > 投资决策 > 【马步遍历问题和骑士巡游问... 正文 2019-12-31 07:26:13

    【马步遍历问题和骑士巡游问题的回溯算法】 马步有什么用

    相关热词搜索:

    马步遍历问题和骑士巡游问题的回溯算法

    马步遍历问题和骑士巡游问题的回溯算法 马步遍历问题与骑士巡游(knight"s tour)问题是指在有8 8方格的国际象 棋棋盘上进行奇异的骑士“L型”(L-shaped)移动的问题。而骑士巡游问题实际是带 有约束条件的马步遍历问题,因此在用程序求解的时候可以一并求解。本文给出 求解这一问题的回溯算法之C++语言程序。

    论文关键词:骑士巡游,回溯算法,C++语言 一般地说,我们用如下方法表示一个解:即把数字0,1,…,63放入棋盘中的方 格来表示到达这些方格的顺序。解决骑士巡游问题更具创意的方法之一是由J. C. Warnsdorff在1823年提出的。其规则是:骑士总是移向具有最少出口且没有到达过 的方格之一。

    由于骑士巡游问题实际是带有约束条件的马步遍历问题,因此在用程序求 解的时候可以一起求解。程序算法依然是回溯法,和皇后问题有相似之处。马步 遍历和骑士巡游问题的复杂度较高,求出一个解相对容易,但要求出所有的解是要 花一定时间的。

    一、回溯算法的实现 1.为解决这个问题,我们把棋盘的横坐标定为i,纵坐标定为j。i和j的取值范 围是从1到SIZE。当某个骑士占了位置(i,j)时,其在这个位置上可以向8个方向以“L 型”移动,它们分别是: 方向1:i+2,j+1;
    方向2:i+1,j+2;
    方向3:i-1,j+2;
    方向4:i-2,j+1;
    方向5:i-2,j-1;
    方向6:i-1,j-2;
    方向7:i+1,j+2;方向8:i+2,j-1。

    2.棋盘以二维数组表示,其下标最大值8,将骑士的每一步按1,2,3 … 64填入 数组相应单元。其过程如下: ……… for(int i=0;i8;i++) for(int j=0;j8;j++) trajKT[i][j]=0;

    • 范文大全
    • 教案
    • 优秀作文
    • 教师范文
    • 综合阅读
    • 读后感
    • 说说
    【马步遍历问题和骑士巡游问题的回溯算法】 马步有什么用》由(写论文网)整理提供,版权归原作者、原出处所有。
    Copyright © 2019 写论文网 All Rights Reserved.