ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:52.98KB ,
资源ID:16595080      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16595080.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(马的Hamilton周游路线问题Word下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

马的Hamilton周游路线问题Word下载.docx

1、在实践中培养独立分析问题和解决问题的作风和能力。设计环境1. PC兼容机 2Windows 2000/XP操作系统3TC集成开发环境或其他C语言开发环境课程设计要求和任务要求:1熟练掌握递归与分治策略,能够利用递归与分治解决实际问题;2使用文件进行存储和管理。程序启动时可从文件中读取信息,或从键盘输入信息;运行过程中也可对文件进行存取;退出前可选择将部分信息保存到文件中;3不同的功能使用不同的函数实现(模块化),对每个函数的功能和调用接口要注释清楚。对程序其它部分也进行必要的注释。4对系统进行功能模块分析、画出总流程图和各模块流程图;5用户界面要求使用方便、简洁明了、美观大方、格式统一。所有功

2、能可以反复使用,最好使用菜单;6通过命令行相应选项能直接进入某个相应菜单选项的功能模块;7所有程序需调试通过。任务:完成马的Hamilton周游路线问题.设计内容包括:1确定能对给定的偶数m,n6,且|m-n|2,编程计算mn的国际象棋棋盘上马的一条Hamilton周游路线;2程序能够演示一条Hamilton周游路线的周游过程等。课程设计工作进度计划序 号起止日期工 作 内 容1下发任务书,分组,选定课题,查阅相关资料2总体设计,划分模块3编制源程序4上机调试,修改、完善系统5程序检查6撰写说明书课程设计报告课程名称: 软件专题训练 设计题目: 马的Hamilton周游路线问题 院 系: 电子

3、信息工程学院 专 业: 计算机科学与技术 班 级: 学生姓名: 学 号:起止日期: 2011年5月28日 2011年6月3日 指导教师: 第一章 需求分析1.1 课程设计题目8*8的国际象棋棋盘上的一只马,恰好走过除起点外的其他63个位置各一次,最后回到起点。这条路线称为马的一条Hamilton周游路线。对于给定的m*n的国际象棋棋盘,m和n均为大于5的偶数,且|m-n|=2,式设计一个算法找出马的一条Hamilton周游路线。1.2 课程设计任务及要求1.3 程序运行环境及开发工具一、程序运行环境1. PC兼容机2Windows 2000/XP操作系统二、开发工具Visual C+6.0第二

4、章 概要设计2.1 程序流程图 概要流程图2.2算法设计原理在n*n的国际象棋棋盘上面的一只马,可按8个不同方向移动。定义n*n的国际象棋棋盘上的妈的部数图为G=(V,E)。棋盘上的每个方格对应于图G中的一个顶点,V=(i,j)|0=i,jn,从一个定点到另一个马步可跳达的顶点之间有一条边E=(u,v),(s,t)|u-s|,|v-t|=1,2第三章详细设计函数一:int q(int x, int y) 该函数主要说的的功能是判断马是否可以跳到下一步,如果下一步位置跃出棋盘或是已经走过,返回0值。函数二:int w(int x, int y) 该函数主要求的是权值,用来判断马的下一步的下一步可

5、以有几个方向可以跳。并返回权值的最后数值。函数三:void r(int a, int b, int n) 权值排序函数是用来找到权值最小的那一步,找到并以其为马要走的下一步。函数四:void Out() 对结果进行输出。通过文件函数将运行结果以txt格式输出。函数五:void b(int t, int x, int y) 该函数为本程序的主要函数,其功能是实现马的跳跃,当马有一个位置到另一个位置后通过自身的递归调用,寻找下一个要到达的位置。当无法进行下一步时通过递归回溯法后退到可执行位置为至。第四章 系统调试4.1调试结果第五章 课程设计总结与体会通过将近一个星期的学习和探索,终于按老师的要求

6、完成了各项任务,本次课程设计是我跟进一步了解了算法设计的重要性学好算法设计对今后的课程学习有着很大的帮助,但是在整个课程设计阶段,自己还有很多不足的地方,一旦遇到很难解决的问题,陷入困境后,很难自己独立的解决问题,常常需要老师的引导。在今后的学习工作过程中还要加强独立解决问题的能力。作为开放式设计型的实验,不仅仅可以激发学生独立思考和创新的意识,让学生感受、理解知识产生和发展的过程,培养学生的科学精神和创新思维习惯,重视培养学生收集信息的能力,获取新知识的能力, 更可以提高学生实际动手能力。附录 马的Hamilton周游路线问题程序#include stdlib.hconst int M=6;

7、const int N=6;int chessMN = 0;int a82 = -2, 1, -1, 2, 1, 2, 2, 1, 2, -1, 1, -2, -1, -2, -2, -1;char s20; if (x = 0 & x y N & chessxy = 0) return 1; return 0;/求权值 int c = 0; for (int i = 0; i 8; +i) if (q(x + ai0, y + ai1) c+; return c;/权值排序 if (n 0; -j) if (aj aj - 1) int temp = aj - 1; aj - 1 = aj;

8、 aj = temp; temp = bj - 1; bj - 1 = bj; bj = temp;/输出结果 FILE *fp; if(fp=fopen(s,w)=NULL) int i,j,k,l=0; fprintf(fp,n坐标表示结果:n); for(i=1;i=M*N;i+) for(j=0;jM;j+) for(k=0;k= M * N) Out(); exit(1); /求得一个解时,退出程序 else int i; int count8,s8; int k = 0; for (i = 0; countk = w(x + ai0, y + ai1); /求权值 sk+ = i;

9、 /保存下一个结点的序号 r(count,s, k);/排序 k; int d = si; x += ad0; y += ad1; chessxy = t + 1; printf(%d ,chessxy); b(t + 1, x, y); /递归调用 回溯 chessxy = 0; x -= ad0; y -= ad1;int main() int x = 0; int y = 0; chessxy = 1; sprintf(s,result.txt b(1, x, y);专业班级指导教师评语: 指导教师签名: 年 月 日成绩评定项 目分 值评 分 要 素成 绩1设计过程中出勤、学习态度等方面20上机出勤及端正的学习态度、认真刻苦程度等2软件设计质量40采用的算法、设计方案,设计结果,界面友好等方面进行综合评定3 答辩能简明扼要地阐述设计的主要内容,能准确流利地回答各种问题4设计报告书写10条理清晰,表述清楚、措词得当5 实际动手能力组长全面负责,承担复杂的模块设计分值就高总 成 绩计算机系课程设计指导教师评分表

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1