遞迴與迷宮回溯問題

2022-07-06 20:06:09 字數 1199 閱讀 1486

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(int i=0; i<8; i++)

system.out.println();

}//使用遞迴回溯找路

//setway(map, 1, 1);

setway2(map, 1, 1);

//輸出新的地圖, 小球走過, 並標識過的地圖

system.out.println("小球走過並標識過的地圖:");

for(int i=0; i<8; i++)

system.out.println();}}

//使用遞迴給小球找路

//map 表示地圖,i j 表示起始位置。找到路返回true , 否則返回false

//map 中0表示沒走,1表示牆,2表示通路,3表示該點已走但不 通

public

static

boolean setway(int map, int i, int

j)

else

else

if(setway(map, i, j+1))

else

if(setway(map, i-1, j))

else

if(setway(map, i, j-1))

else

} else}}

public

static

boolean setway2(int map, int i, int

j)

else

else

if(setway2(map, i, j+1))

else

if(setway2(map, i+1, j))

else

if(setway2(map, i, j-1))

else

} else}}

}

遞迴(recursive) 迷宮回溯問題

建立乙個二維陣列 表示地圖 約定不同的數字表示不同的含義。元素的值,0 表示可以走還沒走過,1 牆,2 表示可以走,3 表示已經走過了,但是是死路。確定乙個策略。下 右 上 左。package chapter18.recursive object migong 左右全部置1 for i 0 unti...

遞迴演算法 迷宮回溯問題

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...

迷宮回溯 遞迴

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...