野人和传教士过河问题的实现1.pdfVIP

  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文档。上传文档
查看更多
野人和传教士过河问题的实现1

目录 野人和传教士过河问题的实现 2 1 课程设计内容与要求 2 1.1 设计目的 2 1.2 设计内容 2 2 问题背景 2 2.1 深度优先算法 2 2.2 广度优先算法 3 2.3 A*算法 3 3 数学模型 3 3.1 状态空间 3 3.2 安全状态空间 4 3.3 渡河方案 4 3.4 安全渡河方案 4 3.5 渡河决策 5 4 数据结构 5 4.1 状态State 5 4.2 策略的头结点 6 4.3 最小化内存空间结构 6 5 算法实现 7 5.1 判断是否为安全状态的函数 7 5.2 显示所有的安全状态函数 8 5.3 显示状态函数 8 5.4 显示路径函数 9 5.5 递归算法函数 10 6 实验结果 13 武汉理工大学《计算机软件高级项目实践》课程设计说明书 7 展望 15 7.1 复杂度分析 15 7.2 问题的演变 15 7.2.1 求最快能过河的渡河方案 15 7.2.2 求一种能过河的渡河方案 16 8 总结 18 参考文献 19 附录1 求一种能过河的渡河方案 19 1 武汉理工大学《计算机软件高级项目实践》课程设计说明书 野人和传教士过河问题的实现 1 课程设计内容与要求 1.1 设计目的 设计有效的数据结构和算法实现野人和传教士过河问题。 1.2 设计内容 1. 深入理解野人和传教士过河问题的实质,调研该问题实现的相关算法; 2. 设计有效的数据结构和算法实现该问题; 3. 根据算法完成程序的编写和调试,要求输出实现的结果; 4. 按课程设计要求撰写报告。 2 问题背景 有三个传教士(MISSIONARYS )和三个野人(CANNIBALS )一起来到河边准备 渡河,河边有一条空船,且传教士和野人都会划船,但每次最多可供两人 (BOATCAPACITY )乘渡。河的任何一岸以及船上一旦出现野人人数超过传教士人数, 野人就会把传教士吃掉。 这就是很有名的野人和传教士过河问题,要解决这个问题,有很多方法。 2.1 深度优先算法 所谓深度优先算法(DFS )就是:从图中某个初始顶点v 出发,首先访问初始顶点v, 然后选择一个与顶点v相邻且没被访问过的顶点w为初始顶点,再从w 出发进行深度优先 搜索,直到图中与当前顶点v邻接的所有顶点都被访问过为止。实现这一算法,我们要用 到编程的另一大利器--递归。 在这个课程设计中我设计了一种最小内存的深度优先算法,用这个算法的优点是 可以找到所有的解。当然也包括全局最优解了。这个全局最优解可以作为一个评估指 标。 2

文档评论(0)

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

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

1亿VIP精品文档

相关文档