(1)将初始状态加入队列
(2)初始状态出队,进行节点扩展。可能是状态转移,列出状态转移方程
(3)在进行扩展中,需要判断节点不要重复扩展。基本思路是设立visited[]数组,标记状态是否被访问过。将状态用一个整数表示,整数则可以是数组下标,该数组下标对应的数组元素的值即是状态是否被访问的标志。即:状态-》整数-》数组下标-》数组元素的值,参考八数码中的康托展开。
(4)在扩展中,判断是否到达目标状态,如果是,则跳出循环,得出结果,问题有解;若果不是,重复(3),直到队列为空,问题无解。
时间: 2024-10-13 23:23:24