3
我試圖在Python中實現回溯算法來解決4皇后問題。我創建了一個類皇后下列要求:Python:通過值遞歸傳遞,4皇后
def __init__(self, board_size=4):
self.board = [[0 for i in xrange(0,board_size)] for i in xrange(0,board_size)];
但是,當我執行遞歸回溯,由於參照板被填充了已被訪問1秒到處傳遞。
def backtrack(self, board, next_column):
(algorithm here) ...
board[i][column] = 1 ... #to indicate a placed queen
self.backtrack(board, next_column + 1);
(rest of algorithm)
我知道我能做到
new_board = copy.deepcopy(board);
淺拷貝不會對高維數組。 有沒有更好的方法來做到這一點,因爲我聽說有一些deepcopy的問題? 建議除2d列表之外的其他數據結構的答案也是可以接受的。
非常感謝