课程设计报告

发布 2022-10-01 04:52:28 阅读 7367

课程名称:数据结构与算法设计。

设计题目:algorithm gossip: 骑士走棋盘。

院系:信息工程学院。

学号。姓名。

设计时间:2015 6 3

指导老师:1.题目分析。

骑士旅游(knight tour)在十八世纪初倍受数学家与拼图迷的注意,它什么时候被提出已不可考,骑士的走法为西洋棋的走法,骑士可以由任一个位置出发,它要如何走完[所有的位置?解法骑士的走法,基本上可以使用递回来解决,但是纯綷的递回在维度大时相当没有效率,一个聪明的解法由 warnsdorff在1823年提出,简单的说,先将最难的位置走完,接下来的路就宽广了,骑士所要走的下一步,「为下一步再选择时,所能走的步数最少的一步。,使用这个」方法,在不使用递回的情况下,可以有较高的机率找出走法(找不到走法的机会也是有的)。

2.系统设计。

for(m=2;m<=总步数;m++)

测试下一步可以走的八个方向,记录可停留的格数count。

if(count==0)

游历失败。else if(count==1)下一步只有一个可能。

else找出下一步的出路最少的格子。

如果出路值相同,则选第一个遇到的路。

走最少出路的格子,记录骑士的新位置。

3.系统实现。

#include <>

int board[8][8] =

int main(void)

int startx, starty;

int i, j;

printf("输入起始点:")

scanf("%d %d", startx, &starty);

if(tr**el(startx, starty))elsefor(i = 0; i < 8; i++)putchar('');

return 0;

int tr**el(int x, int y)/ 对应骑士可走的八个方向。

int ktmove1[8] =

int ktmove2[8] =

/ 测试下一步的出路。

int nexti[8] =

int nextj[8] =

/ 记录出路的个数。

int exists[8] =

int i, j, k, m, l;

int tmpi, tmpj;

int count, min, tmp;

i = x;

j = y;

board[i][j] =1;

for(m = 2; m <=64; m++)count = l;

/ 如果可走的方向为0个,返回。

if(count ==0)

else if(count ==1)

else/ 走最少出路的方向。

i = nexti[min];

j = nextj[min];

board[i][j] =m;

return 1;

4.结果分析。

课程设计报告格式 课程设计

洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...

课程设计总结,课程设计报告

课程设计总结,课程设计报告。3.尝试应用项目管理软件进行项目进程的规划管理 绘制甘特图,不作硬性要求 二 选题说明。人事管理是企业信息管理的重要部分,面对大量的人事工资信息,财务部门采用人力处理将浪费大量的时间 人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的人事工资管理软件进行自动...

课程设计 课程设计报告格式

学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...