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

1 問題分析

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

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

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

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

延伸閱讀

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