求迷宮從入口到出口的所有路徑是一個經(jīng)典的程序設(shè)計問題,求解迷宮,通常采用的是“窮舉+回溯”的思想,即從入口開始,順著某一個方向出發(fā),若能夠走通,就繼續(xù)往前走;若不能走通,則退回原路,換一個方向繼續(xù)向前探索,直到所有的通路都探尋為止。因此本文依據(jù)這種“窮舉+回溯”的思想,設(shè)計一個求解迷宮的程序。

1 問題分析

為了保證在任何位置上都能夠退回原路,顯然需要使用一個先進后出的數(shù)據(jù)結(jié)構(gòu)來保存已經(jīng)探尋過的位置,因此在程序求解迷宮路徑的過程中采用這種數(shù)據(jù)結(jié)構(gòu)。

迷宮是一個二維地圖,其中含有出口和入口,障礙點和通道,因此程序采用一個二位數(shù)組map來表示,其中,二維數(shù)組值所代表的含義如下:

0:通道    1:起點    2:障礙    3:終點    4:路徑

需要注意的是,最后求解出來的通路,必須要是一條簡單路徑,即在求得的路徑上不能重復(fù)出現(xiàn)同一通道快。下面簡述一下程序的求解過程。

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式