資源簡(jiǎn)介
廣度優(yōu)先搜索(也稱寬度優(yōu)先搜索,縮寫B(tài)FS,以下采用廣度來描述)是連通圖的一種遍歷策略。本程序用Matlab語言實(shí)現(xiàn)廣度優(yōu)先算法
代碼片段和文件信息
function?BFS_Maze(maze)
?
%?maze:是迷宮矩陣,其中0表示可以去走的路
%?????????????????????1表示障礙
%?????????????????????2表示入口
%?????????????????????3表示出口
%?????????????????????5表示行走路徑
%?????????????0?2?0?0?1
%?????????????0?1?1?0?1
%?????????????0?1?3?0?1
%?????????????0?1?0?0?1
?
%?copyright:?qbb?2013-3-12
if?nargin?==?0
????maze?=?[0?2?0?0?1
????????0?1?1?0?1
????????0?1?3?0?1
????????0?1?0?0?1];
end
mazecopy?=?maze;
%?定義四個(gè)方向
directions?=?kron(eye(2)[-11]);
%?數(shù)組存儲(chǔ)解的情況,I?J?Pre
remark?=?zeros(1003);
[IJ]?=?find(maze?==?2);%?找到起點(diǎn)
remark(1:)?=?[IJ-1];
count?=?2;
search(1);
sol?=?remark(count-1:);
while(sol(end3)?>?0)
????sol?=?[sol;remark(sol(end3):)];
end
mazecopy(sub2ind(size(maze)?sol(2:end-11)?sol(2:end-12)))?=?5;
disp(mazecopy);
disp(sol);
????function?search(front)
????????x?=?remark(front1);
????????y?=?remark(fro
評(píng)論
共有 條評(píng)論