五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

MATLAB小程序,隨機(jī)生成迷宮

2023-03-27 14:17 作者:量子光子  | 我要投稿

以下是一個有趣的MATLAB小程序,它可以繪制出一個隨機(jī)生成的迷宮,然后使用深度優(yōu)先搜索算法來尋找從起點(diǎn)到終點(diǎn)的路徑。您可以將該程序作為起點(diǎn),并根據(jù)自己的興趣和技能水平進(jìn)行修改和擴(kuò)展。


% 生成迷宮

M = zeros(20,20);

for i = 1:20

? ? for j = 1:20

? ? ? ? if rand < 0.3

? ? ? ? ? ? M(i,j) = 1;

? ? ? ? end

? ? end

end


% 繪制迷宮

figure;

imagesc(M);

colormap(gray);

axis equal;

axis off;


% 深度優(yōu)先搜索算法尋找路徑

visited = zeros(20,20);

stack = [1,1];

path = [];

while ~isempty(stack)

? ? current = stack(end,:);

? ? stack(end,:) = [];

? ? if current(1) == 20 && current(2) == 20

? ? ? ? path = [path;current];

? ? ? ? break;

? ? end

? ? if visited(current(1),current(2)) == 0 && M(current(1),current(2)) == 0

? ? ? ? visited(current(1),current(2)) = 1;

? ? ? ? path = [path;current];

? ? ? ? neighbors = [current(1)-1,current(2);current(1),current(2)-1;? ? ? ? ? ? current(1)+1,current(2);current(1),current(2)+1];

? ? ? ? for i = 1:size(neighbors,1)

? ? ? ? ? ? if neighbors(i,1) >= 1 && neighbors(i,1) <= 20 && neighbors(i,2) >= 1 && neighbors(i,2) <= 20

? ? ? ? ? ? ? ? if visited(neighbors(i,1),neighbors(i,2)) == 0

? ? ? ? ? ? ? ? ? ? stack = [stack;neighbors(i,:)];

? ? ? ? ? ? ? ? end

? ? ? ? ? ? end

? ? ? ? end

? ? end

end


% 繪制路徑

hold on;

for i = 1:size(path,1)-1

? ? plot([path(i,2),path(i+1,2)],[path(i,1),path(i+1,1)],'r','LineWidth',2);

end

該程序生成一個隨機(jī)的20x20迷宮,然后使用深度優(yōu)先搜索算法尋找從左上角到右下角的路徑,并將路徑繪制為紅色線條。運(yùn)行程序時,您可以多次嘗試,以便獲得不同的迷宮和路徑。

MATLAB小程序,隨機(jī)生成迷宮的評論 (共 條)

分享到微博請遵守國家法律
延川县| 大关县| 罗甸县| 普安县| 广东省| 新平| 漠河县| 宜州市| 呼图壁县| 托克逊县| 柳州市| 陇南市| 永寿县| 长丰县| 雷波县| 会宁县| 时尚| 宜章县| 界首市| 全州县| 蒲城县| 阳朔县| 林西县| 东兰县| 英德市| 延边| 望谟县| 政和县| 南投县| 蒙自县| 桦南县| 兴安县| 拉孜县| 砀山县| 米脂县| 本溪市| 平南县| 镇原县| 亚东县| 江北区| 虞城县|