資料結構與演算法 5 1 謎宮回溯問題

2021-09-27 12:16:06 字數 1256 閱讀 4742

package com.hblg.guigu.recursion;

/** * @author i

* @create 2019/9/28 15:09

* @description 迷宮回溯

* * 思路:對於這列問題 我們可以使用遞迴的方法來解決。

* 使用二維陣列模擬謎宮。1表示為牆 2表示可以走 3代表死路 0 代表為空

* */

public class migong

//初始化左邊和右邊的牆

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

//遍歷陣列

system.out.println("初始化謎宮");

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

system.out.println();

}//設定障礙牆

array [3][1] = 1;

array [3][2] = 1;

setway2(array,1,1);

system.out.println("走完之後");

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

system.out.println();}}

/***

*上右下左

* @param array 陣列

* @param i 行

* @param j 列

* @return

*/public static boolean setway(int array,int i,int j) else else if (setway(array, i, j + 1)) else if (setway(array, i + 1, j)) else if (setway(array, i, j - 1)) else

} else }}

/***

*下右上左

* @param array 陣列

* @param i 行

* @param j 列

* @return

*/public static boolean setway2(int array,int i,int j) else else if (setway2(array, i, j+1)) else if (setway2(array, i - 1, j)) else if (setway2(array, i, j -1)) else

} else }}

}

PTA 資料結構與演算法 回溯

1.在4皇后問題中,x1,x2,x3,x4 對應4個皇后位置的列下標。在回溯剪枝過程中,狀態 1,4,2,會在 2,4,1,之前被檢查,並且它們對應的分支都沒有解。tf 2.西洋棋四皇后問題僅有 2 個不同的解。tf 1.給定收費公路重建問題的距離集d 首先可以確定的是 x1 0 和 x6 8。下列...

資料結構與演算法 回溯法解決裝載問題

遍歷各元素,若cw w t c 即船可以裝下 則進入左子樹,w t 標記為1,再進行遞迴,若cw r bestw 即當前節點的右子樹包含最優解的可能 則進入右子樹,否則,則不遍歷右子樹。public class loading 計算最優載重量 backtrack 1 return bestw 核心演...

資料結構與演算法練習51

一 直接沿用楊輝三角的方法,最後返回對應一行就可以。二 空間複雜度為o k 的方法,就是只用乙個陣列。public ilist int getrow int rowindex 每一行有i 1個元素。result.add lgx 一共numrows行。return result rowindex 上面...