我有一个初始状态的谜题
R R R G R
R G G R R
R G G R G
R G G R R
R R R B R
哪里R = Red
,G = Green
和B = Moveable Blank
和目标状态
R R R R R
R G G G R
R G B G R
R G G G R
R R R R R
我知道为了移动空白,我必须应用搜索算法,如DFS, BFS, A* etc
我知道我必须创建类:
节点
class Node {
char board[5][5];
Node *parent;
};
树
class Tree {
Node *root;
};
Hash Table 之类的前沿技术,用于检测 O(1) 复杂度的已访问状态。
所以我很困惑我将如何开始实施这个难题的解决方案。谁能指导我?我可以在空白处应用的运算符是上、下、左、右。