演算法之老鼠走迷宮1 找一條路

2021-08-11 19:40:05 字數 652 閱讀 7010

老鼠走迷宮問題是遞迴的乙個經典應用演算法:基本描述如下

有乙個只老鼠在迷宮裡,隨便給幾個起點,給乙個終點,找出一條由起點到終點的連通路徑。

簡單設計如下:老鼠在任何一點的行動方向都有四種可能行,上下左右;每當發生一次移動之後,下一次移動又有四種可能性。因此可以用遞迴來解決該問題,為了**中直觀地顯示,我們設計乙個二維陣列,其中2表示牆,0表示路,1表示老鼠走過的路。具體**如下,可以看**裡的詳細備註:

#include#includeint visit(int,int);
//二維陣列表示迷宮

int maze[7][7] = ,,,

,,,};

int starti = 1,startj = 1;//起點

int endi = 5, endj = 5;//終點

int success = 0;//表示老鼠走到了終點

int visit(int i,int j)

int main()

if(visit(starti,startj)==0)//遞迴找尋路徑

printf("\n we cannot fine the exit!\n");

else

}return 0;

}

老鼠走迷宮 1

1 資料結構不一定要物理實現 資料結構用到了棧,但是這個棧並不是物理上存在的,只是一種 邏輯上存在的模型 2 回溯的邊界 結束條件判定 演算法策略用到了回溯法,在編寫 過程中,要注意邊界條件和 結束條件的判定,還要注意回溯的位置 3 如何自動生成迷宮?4 如何找出全部通路?include stdio...

老鼠走迷宮

說明 老鼠走迷宮是遞迴求解的基本題型,我們在二維陣列中使用2表示迷宮牆壁,使用1來表示老鼠的行走路徑,試以程式求出由入口至出口的路徑。解法 老鼠的走法有上 左 下 右四個方向,在每前進一格之後就選乙個方向前進,無法前進時退回選擇下乙個可前進方向,如此在陣列中依序測試四個方向,直到走到出口為止,這是遞...

老鼠走迷宮

老鼠走迷官 一 說明 老鼠走迷宮是遞迴求解的基本題型,我們在二維陣列中使用2表示迷宮牆壁,使用1來表 示老鼠的行走路徑,求出由入口至出口的路徑。解法 老鼠的走法有上 左 下 右四個方向,在每前進一格之後就選乙個方向前進,無法前 進時退回選擇下乙個可前進方向,如此在陣列中依序測試四個方向,直到走到出口...