遞迴演算法 迷宮回溯問題

2021-10-06 18:31:05 字數 1059 閱讀 9773

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);

system.out.println(setway);

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

system.out.println(); }}

// 使用遞迴回溯來給小球找路

// 說明

// 1. map 表示地圖

// 2. i,j 表示從地圖的哪個位置開始出發 (1,1)

// 3. 如果小球能到 map[6][5] 位置,則說明通路找到.

// 4. 約定: 當map[i][j] 為 0 表示該點沒有走過 當為 1 表示牆 ; 2 表示通路可以走 ; 3 表示該點已經走過,但是走不通

// 5. 在走迷宮時,需要確定乙個策略(方法) 下->右->上->左 , 如果該點走不通,再回溯

//(策略可以自己定義,最後由於定義的策略不同,其最後走出來的路徑也會不同)

這是根據策略「下-右-上-左」得到的路線圖(其起點在[1,1],終點在[6,5])

遞迴(recursive) 迷宮回溯問題

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

遞迴與迷宮回溯問題

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

演算法 迷宮問題 回溯

package datastructure.migong public class test for int i 0 i 8 i map 3 1 1 map 3 2 1 map 3 3 1 setway map,1,1 for int i map system.out.println 判斷當前點能否...