如果打比喻来说,DFS更适合模拟机器人走迷宫的方式,看到一个方向是通的,就一直走下去,遇到死胡同就退回;BFS则好比一个人站在迷宫入口处,拿出一堆小探测器,每个小探测器帮他搜索一个可能的路径去寻找,第一个找到出口的探测器发出了反馈...,那么这个人就按照这个小探测器找到的路径走迷宫就行了。...迷宫问题
?
迷宫问题的数据结构
?
方向试探表示:用来记录走迷宫的顺序:右下左上
注意:这里走迷宫遵循右下左上的原则
?
?...{ 1,0,0,1,1,1 },
{ 1,0,0,0,0,1 },
{ 1,0,1,1,1,1 },
{ 1,0,0,0,0,1 },
{ 1,1,1,1,1,1 },
};
//用来记录走迷宫顺序的结构体...如果右方向不能走,就要改变方向移动
di++;
}
}
}
return false;
}
//测试打印迷宫通路
void test()
{
LinkStack s;