数据结构课程设计报告[精选].docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计报告[精选]

合肥学院 计算机科学与技术系 课程设计报告 2013 ~2014 学年第(二) 学期 课程 数据结构与算法 课程设计名称 马拦过河卒问题 学生姓名 王雪梅 学号 1104013042 专业班级 11级计本(班) 指导教师 何立新、檀明 2013 年6月 合肥学院数据结构与算法设计报告 目 录 课程设计目的 内容概要 关键词 正文 1、问题分析和任务 数据结构的选择和概要设计 详细设计和编码 上机调试 测试结果及其分析 用户使用说明 参考文献 附录 心得体会 鸣谢 课程设计目的: “数据结构与算法”精品课程建设组根据“数据结构与算法”课程教学大纲的要求,精心选择了一批课程设计题目,要求学生选择其中的题目,通过独立解决这些问题,在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解和综合运用,按“课、程设计教学大纲”的要求完成“数据结构与算法课程设计报告”。使学生深刻理、解、牢固掌握数据结构和算法设计技术,提高分析和解决实际问题的能力。在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练 内容概要: 棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。 棋盘用坐标表示,A点(0, 0)、B点(n, m)(n, m为不超过13的整数),同样马的位置坐标是需要给出的。要求计算出卒从A点能够到达B点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。 图1-1 坐标轴 A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上的任一点有一个对方的马(如上图的C点),该马所在的点和所有跳跃一步可达的点称为方马的控制点。例如上图C点上的马可以控制9个点(图中的P1,P2...P8和C)。卒不能通过对方的控制点棋盘用坐标表示,A点(0,0)、B点(n, m)(n,m为不超过的整数,并由键盘输入),同样马 的位置坐标是需要给出的(约定:C≠A,同时C≠B)。现在要求你计算出卒从A点能够到达B点的路径的条数。做一个表,记录马可以攻击的位置,主要要包括马本身的位置;然后从(0,0)开始每次递归(x+1,y)和(x,y+1),如何(x==n1y==n2)说明走到位置了,那么++(路径数);如果大于边界和等于马可以攻击的位置就return,这样就可以了。不说考虑速度关系,我们可以加一个过程,即坐标一旦超出目标就return。做一个表,记录马可以攻击的位置,主要要包括马本身的位置;然后从(0,0)开始每次递归(x+1,y)和(x,y+1),如何(x==n1y==n2)说明走到位置了,那么++(路径数);如果大于边界和等于马可以攻击的位置就return,这样就可以了。不说考虑速度关系,我们可以加一个剪枝过程,即坐标一旦超出目标就return。 图1-2 坐标轴 三、详细设计和编码 1、卒行走的规则:可以向下、或者向右。、计算马的控制点 按照题意,对方的马所在的点和所有跳跃一步可达的点称为对方马的控制点,卒不能通过对方马的控制点。在卒出发之前,必须计算对方马的所有控制点。显然,若(0,0)或(n,m)为控制点,则输出路径数为0。 假设马的位置是固定不动的,并不是卒走一步马走一步。记录马可以攻击的位置if(c=Xd=Y) a[c][d]=0; if(c-1=0) //马不能在x坐标最边缘的点 { if(d+2=Y) a[c-1][d+2]=0; if(d-2=0) a[c-1][d-2]=0; //查看马是否能够攻击到 } if(c+1=X) //马向右移动一个坐标,判断与x的关系 { if(d+2=Y) a[c+1][d+2]=0; if(d-2=0) a[c+1][d-2]=0; //查看马是否能够攻击到 } if(c-2=0) //马不能在y坐标为1的点 { if(d-1=0) a[c-2][d-1]=0; if(d+1=Y) a[c-2][d+1]=0; //查看马是否能够攻击到 } if(c+2=X) //马向右移动2个坐标,判断与x的关系 { if(d-1=0) a[c+2][d-1]=0; if

文档评论(0)

jsntrgzxy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档