数据结构课程设计之九宫实验报告.docVIP

  • 73
  • 0
  • 约1.27万字
  • 约 29页
  • 2018-06-20 发布于浙江
  • 举报
数据结构课程设计之九宫实验报告

九宫问题 一、简介 1.设计目的:通过实践掌握用广度优先搜索解决问题的方法 2.问题的描述: 在一个3*3的九宫中,有1—8这8个数,及一个空格随机的摆放在其中的格子里。如下面左图所示。要求实现这样的问题:将九宫问题调整为如右图所示的形式。调整的规则是:每次只能将与空格(上、下或左、右)相邻的一个数字平移到空格中。 要求:问你通过移动中间的空格是否能达到右图所示的状态,如果能,则输出所走的路径,如果不能,则输出:unsolvable。最好能画出九宫的图形形式,并在其上动态的演示移动过程。 数据结构的设计: 1:为了了解九宫格的状态所以需要记录九宫格的当前状态 2:因为要采用是两端同时开始搜索的方法,所以要记录结点是从那个方向搜索到的 3:为了减少重复搜索,所以要记录当前状态是由父结点怎么移动得来的 4:需要输出路径,所以得记录从根节点到当前结点空格的移动路径 5:需要一个队列来实现广度优先搜索 6:还需要以一种便于访问的方式记录下所有已经访问过的结点,所以构造一个哈希表 7:便于找到答案后释放所用空间,还需要将所有已搜索过的结点构造成一个链表 综上定义如下结构体: typedef struct LNode{ int data;//用一个各位不相等的9位数来表示当前状态,9表示空格 int flag;//0表

文档评论(0)

1亿VIP精品文档

相关文档