八数码难题
Posted roni-i
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了八数码难题相关的知识,希望对你有一定的参考价值。
本题有写法好几个写法,但主要思路是BFS:
No。1
采用双向宽搜,分别从起始态和结束态进行宽搜,暴力判重。如果只进行单向会超时。
No。2
采用hash进行判重,宽搜采用单向就可以AC。
No。3
运用康拓展开进行判重,即使采用单向宽搜时间效率也很高。
哈希是想到了,但是我们应该选择什么哈希函数呢,看了网上一些神牛利用的是"康托展开",也就是利用全排列都有一个对应的整数,利用哈希函数把状态压缩成整数,这样就可以做到每一个整数都是唯一对应一个状态,那么这个时候就把哈希做完了。
以上是关于八数码难题的主要内容,如果未能解决你的问题,请参考以下文章