设计说明:1。数据结构和表示:程序用1、2、3、4分别表示将右、上、左、下的数字块移动到空格之中。采用典型的树+链表结构,每种局面产生一个BoardState类。出于避免走法顺序列表被过多复制的考虑,在树结构中保存局面的继承关系。每种新的局面产生后,引用估值函数产生f的值,再根据大小将其插入链表之中,以便实现“优先展开f值小的节点”。Solve()函数在成功解决问题之后保存一个走法序列供输出并返回零,而失败则返回失败处的节点层数。(具体的判断方法见后文)
标签:
数据结构
分
典型
数字
上传时间:
2015-05-02
上传用户:xieguodong1234