八数码难题

Posted roni-i

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了八数码难题相关的知识,希望对你有一定的参考价值。

本题有写法好几个写法,但主要思路是BFS:
No。1
采用双向宽搜,分别从起始态和结束态进行宽搜,暴力判重。如果只进行单向会超时。

No。2
采用hash进行判重,宽搜采用单向就可以AC。

No。3
运用康拓展开进行判重,即使采用单向宽搜时间效率也很高。

哈希是想到了,但是我们应该选择什么哈希函数呢,看了网上一些神牛利用的是"康托展开",也就是利用全排列都有一个对应的整数,利用哈希函数把状态压缩成整数,这样就可以做到每一个整数都是唯一对应一个状态,那么这个时候就把哈希做完了。

以上是关于八数码难题的主要内容,如果未能解决你的问题,请参考以下文章

1225 八数码难题

1225 八数码难题

A*算法求解八数码难题(python实现)

luogu_1379 八数码难题

八数码难题

codevs1225八数码难题(搜索·)