dfs的一点问题
深度优先遍历时是不是一般会用到栈??
走迷宫的时候怎么算可以走通的种数?使用dfs吗?
还有该如何记录最短的路径?就是打印出最短路径,
用栈吗?求解啊
[解决办法]
怎样定义一个状态和题目的要求有关, 一般
struct state
{
int cost; // 到目前状态走的步数
state * parent; // 这样就知道父节点,如果需要打印具体路径时就需要这个变量
// 如果把已知状态放在一个vector里面的话,因为每次增加新状态
// 都可能导致旧的指针失效,这时可以用父状态在这个vector中的索引
int x,y; // 当前位置
};