迷宫问题的3种求解算法

0人 购买 好评度 - 收藏
  • 迷宫问题3种解法
更多班级

迷宫问题3种解法

支持随到随学,24年05月过期

¥29.00

本班因教学质量问题暂时不能报名。 查看详情

课程因违反平台规定暂时不能报名。

立即购买

课程概述

目录

评论

简  介 迷宫问题的递归和非递归求解算法从零实现

迷宫问题:迷宫可以看成一个由房间组成的二维矩阵,其中有一个入口、一个(若干)出口,其他位置可以是堵塞的墙或可进的房间,要求从入口出发,寻找一个到达一个出口的路径。
不同迷宫问题,从当前的位置可以有不一样的下一步探索方向(如东南西北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

老师还为你推荐了以下几门课程