迷宫问题:迷宫可以看成一个由房间组成的二维矩阵,其中有一个入口、一个(若干)出口,其他位置可以是堵塞的墙或可进的房间,要求从入口出发,寻找一个到达一个出口的路径。
不同迷宫问题,从当前的位置可以有不一样的下一步探索方向(如东南西北4个方向,有的问题也可能再加上对角线四个方向如东南、西南、西北、东北)。
程序中通常可以用一个二维数据表示迷宫,如:
int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,};
其中的1表示墙壁,0表示可以走的位置。通常约定每个位置的探索方向有哪些,比如“只能横着走或竖着走,不能斜着走”,即只有最多4个方向可前进。
本课程将讲解下列3种不同的迷宫求解算法,并用C++(VS2019)从零实现这3个算法:
1) 基于递归的迷宫深度优先搜索
2) 基于堆栈的非递归迷宫深度优先搜索
3) 基于队列的迷宫广度优先搜索
主页 hwdong.net 关注公众号:hwdong编程 QQ群:101132160
关于课程的评价,请参看B站hw-dong的各种课程下的评论(或个人博客:hwdong.net),有不少网友网友私信说“老师的课程真心的好”、“比浙大翁恺的好动”等等,下面是网友同学们在B站的课程的部分评价。
2小时从C到C++快速入门
七奏丶
我觉得老师讲的很好啊,除了口音有些重外。
为啥没人看...
强威2017
讲的真是太好了
al