八数码问题(map去重+双向广度优先搜索+无解特判)
本人在做八数码问题时用了map去重和双向广度优先搜索,但是一直超时。
最后找到原因是:
虽然双向广度优先搜素相对于单项广度优先搜索而言减少了搜索深度,降低了时间复杂度和空间复杂度,但是对于如果初始状态无法到达目标状态时,双向广度优先搜索将是单项广度优先搜索耗时的两倍,网上的博客都是(map去重,set去重,康托展开hash去重)+(BFS,DBFS,A*)几乎都没有考虑无法到达的情况,本人找了好久...
原创
2019-07-17 21:43:15 ·
613 阅读 ·
3 评论