遞迴(recursive) 迷宮回溯問題

2021-10-06 18:16:31 字數 1251 閱讀 3071

建立乙個二維陣列(表示地圖)。

約定不同的數字表示不同的含義。元素的值,0:表示可以走還沒走過,1:牆,2:表示可以走,3:表示已經走過了,但是是死路。

確定乙個策略。下->右->上->左。

package chapter18.recursive

object migong

//左右全部置1

for(i <

-0 until 8

)//設定擋板

map(3)

(1)=

1map(3

)(2)

=1// map(1)(2) = 1

// map(2)(2) = 1

//列印地圖

for(i <

-0 until 8

)println()

}// 測試

setway

(map,1,

1)println

("\n----------------執行後------------------------\n"

)//列印新地圖

for(i <

-0 until 8

)println()

}}/** * 使用遞迴回溯來找路

* 約定不同的數字表示不同的含義。元素的值,0:表示可以走還沒走過,1:牆,2:表示可以走,3:表示已經走過了,但是是死路。

* 確定乙個策略:下-》右-》上-》左

** @param map 表示地圖,

* @param i 行號:是指定從地圖的哪個點開始出發 (1,1)

* @param j 列號:是指定從地圖的哪個點開始出發 (1,1)

* @return 是否能走

迷宮回溯 遞迴

1.什麼是遞迴?自己呼叫自己,每次傳入的方法引數不同。2.需求 終止條件,和遞迴規律 package com public class mul 設定擋板 map 3 1 1 map 3 2 1 map 1 2 1 map 4 4 1 map 4 5 1 列印地圖 for int a map syst...

遞迴演算法 迷宮回溯問題

package com.czn.recursion public class migong for int i 0 i 8 i map 3 1 1 map 3 2 1 for int i 0 i 8 i system.out.println boolean setway setway map,1,1...

遞迴與迷宮回溯問題

package com.dai.recursion public class migong 左右全置1 for int i 0 i 8 i 設定擋板 map 3 1 1 map 3 2 1 map 1 2 1 map 2 2 1 輸出地圖 system.out.println 地圖情況 for in...