基於棧和佇列的迷宮問題求解

2021-09-27 11:05:43 字數 428 閱讀 8424

問題描述

以乙個m*n的長方陣表示迷宮,0和1分別表示迷宮中的通路和障礙。設計乙個程式,對任意設定的迷宮,求出一條從入口到出口的通路,或得出沒有通路的結論。

測試資料

迷宮的測試資料如下:左上角(1, 1)為入口,右下角(8, 9)為出口。

一、需求分析

值得注意的是,題目要求中的測試資料給的是右下角(8,9),這個表述可能偏向口語化,是先寫列,再寫行,這和數學中矩陣元素的表示方法是相反的,從而對我來說有很大的誤導作用(原書105頁寫的是(8,9),而106頁寫的是(9,8)),為了避免不必要的誤解,特別規定右下角那個元素座標為(9,8),即,採用約定俗成的矩陣元素的那種先行後列的表達方法。

棧求解迷宮問題

問題 假設下圖1是某迷宮的地圖 0代表路徑,1代表牆壁 問此迷宮是否有條通路?求解思想 用棧來實現解決問題,主要步驟是 1 將迷宮的入口座標設為當前座標 2 將當前座標壓棧,將當前座標上的值設為2 0變為2 代表已走過的路 3 判斷當前座標的四周 上下左右 是否是可以通 為0則通 的,如果是通的,那...

棧 求解迷宮問題

問題 在迷宮中尋找一條路徑 演算法分析 將迷宮數值化,使用二維陣列來表示迷宮,牆單元用0,通道單元用1 如果能夠通過繼續前進,如果不能通過則退回到上乙個單元,因此用棧來儲存通過的路徑 用0,1,2,3來分別表示4個方向 include pch.h include include include in...

棧和佇列迷宮問題

define n 6 int maze n n 通過乙個數字來創造乙個6 6的迷宮,其中 0代表牆,1代表能夠走的路。這裡將陣列通過畫圖軟體畫出來,這裡紅色的1代表迷宮的入口,綠色的 1代表迷宮的出口。這個陣列所建立的迷宮是相對複雜的一種迷宮,首先這個迷宮是存在環的 這幾個1,如果你的迷宮函式只是用...