课程设计--修道士野人过河问题
《课程设计--修道士野人过河问题》由会员分享,可在线阅读,更多相关《课程设计--修道士野人过河问题(10页珍藏版)》请在毕设资料网上搜索。
1、 数据结构数据结构课程设计课程设计 修道士野人过河问题修道士野人过河问题 修道士与野人问题修道士与野人问题 假设有 n 个修道士和 n 个野人准备渡河, 但只有一条能容纳 c 人的小船, 为了防止野人 侵犯修道士,要求无论在何处,修道士的个数不得少于野人的人数(除非修道士个数为 0) 。 如果两种人都会划船,试设计一个算法,确定他们能否渡过河去,若能,则给出一个小船来 回次数最少的最佳方案。 (1)用一个三元组(x1,x2,x3)表示渡河过程中各个状态。其中,x1 表示起始岸上修 道士个数, x2 表示起始岸上野人个数, x3 表示小船位置 (0在目的岸, 1在起始岸) 。 例如(2,1,1)
2、表示起始岸上有两个修道士,一个野人,小船在起始岸一边。 采用邻接表做为存储结构,将各种状态之间的迁移图保存下来。 (2)采用广度搜索法,得到首先搜索到的边数最少的一条通路。 (3)输出数据 若问题有解(能渡过河去) ,则输出一个最佳方案。用三元组表示渡河过程中的状态, 并用箭头指出这些状态之间的迁移 若问题无解,则给出“渡河失败”的信息。 (4)求出所有的解。 1需求分析 有 n 个修道士和 n 个野人准备渡河, 但只有一条能容纳 c 人的小船, 为了防止野人侵犯 修道士,要求无论在何处,修道士的个数不得少于野人的人数,否则修道士就会有危险,设 计一个算法,确定他们能否渡过河去,若能,则给出一
3、个小船来回次数最少的最佳方案。用 三元组(x1,x2,x3)来表示渡河过程中各个状态,其中,x1 表示起始岸上修道士个数,x2 表示起始岸上野人个数,x3 表示小船位置(0在目的岸,1在起始岸) 。若问题有解 (能渡过河去) ,则输出一个最佳方案。用三元组表示渡河过程中的状态,并用箭头指出这 些状态之间的迁移: 目的状态中间状态初始状态, 若问题无解, 则给出 “渡河失败” 的信息。 2设计 2.1 设计思想设计思想 (1)数据结构设计 逻辑结构设计: 图型结构 存储结构设计: 链式存储结构 采用这种数据结构的好处: 便于采用广度搜索法, 得到首先搜索到的边数最少的一条 通路,输出一个最佳方案
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中设计图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 修道士 野人 过河 问题
