数据结构(C#语言描述)第10章八数码问题.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 八数码问题 《数据结构(C#语言描述)》配套PPT 北京大学出版社 制作:陈广 博客: 10.1 什么是八数码问题 八数码问题就是在一个3×3的九宫格棋盘上,分别将标有数字1~8的八个棋子摆放其中,摆放时要求棋子不能重叠。于时在3×3的棋盘上将出现一个空格,允许这个空格周围的某一个棋子向空格移动。这样通过移动棋子就可以不断改变棋子的布局。假设给定一个初始的棋子布局(初始状态)和一个目标布局(目标状态),要求移动棋子,实现从初始状态到目标状态的转变,给出一个合法的走步序列。 10.2 八数码问题解析 10.2 八数码问题解析 10.2 八数码问题解析 10.2 八数码问题解析 10.2 八数码问题解析 * * Company LOGO 《数据结构(C#语言描述)》配套PPT 《数据结构(C#语言描述)》配套PPT 《数据结构(C#语言描述)》配套PPT 10.2.1 从初始状态到达目标状态是否有解 逆序状态:将棋局中的数字从上到下、从左到右进行排序,每个数字前面比它大的数字的个数的和称为这个状态的逆序 。 8 1 5 6 7 3 4 2 F(8)=0 F(1)=1 F(5)=1 F(6)=1 F(7)=1 F(3)=4 F(4)=4 F(2)=6 函数F(n)表示数字n前面比它大的数字的个数 偶数 《数据结构(C#语言描述)》配套PPT 10.2.1 从初始状态到达目标状态是否有解 逆序状态:将棋局中的数字从上到下、从左到右进行排序,每个数字前面比它大的数字的个数的和称为这个状态的逆序 。 函数F(n)表示数字n前面比它大的数字的个数 7 6 8 4 2 5 3 1 F(7)=0 F(6)=1 F(8)=0 F(4)=3 F(2)=4 F(5)=3 F(3)=5 F(1)=7 奇数 《数据结构(C#语言描述)》配套PPT 10.2.1 从初始状态到达目标状态是否有解 7 6 8 4 2 5 3 1 8 1 5 6 7 3 4 2 逆序状态为偶数 若两个状态的逆序奇偶性相同,则可相互到达,否则不可相互到达。 逆序状态为奇数 × 《数据结构(C#语言描述)》配套PPT 10.2.5 使用什么方法求解八数码问题的最优解 1 3 4 2 6 7 5 8 1 2 3 4 6 7 5 8 1 3 4 2 6 7 5 8 1 2 3 4 6 7 5 8 1 2 3 4 5 6 7 8 1 3 6 4 2 7 5 8 1 3 6 4 2 8 7 5 2 3 1 4 6 7 5 8 1 2 3 7 4 6 5 8 1 2 4 6 3 7 5 8 1 2 3 4 6 8 7 5 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 3 6 4 2 7 5 8 1 2 3 4 6 7 5 8 1 3 4 2 6 7 5 8 1 2 3 4 5 6 7 8 初始状态 目标状态 1 2 3 4 5 6 7 8 1 3 4 2 6 7 5 8 4 1 3 2 6 7 5 8 《数据结构(C#语言描述)》配套PPT 10.2.5 使用什么数据结构表示棋盘状态 [9] 7 [8] 6 [7] 8 [6] 4 [5] [4] 2 [3] 5 [2] 3 [1] 1 下图棋盘状态为:768425315 *

文档评论(0)

autohhh + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档