0
我想用回溯來解決問題。正如...我給出了一個數字列表,我想使用回溯來找到尊重給定條件的所有可能的排列組合。條件下的Python置換(回溯)
我有用於生成排列列表的代碼,但它沒有幫助,因爲我無法在將每個排列添加到列表之前單獨檢查每個排列,因此它不是回溯,它只是遞歸。 我也明白回溯作品的方式:從0到x,但不是一個列表排列...
這是我的置換列表生成
def permutare(self, lista):
if len(lista) == 1:
return [lista]
res = []
for permutation in self.permutare(lista[1:]):
for i in range(len(lista)):
res.append(permutation[:i] + lista[0:1] + permutation[i:])
return res
作品而不是我的幫助。我嘗試在那裏插入驗證,但無處可用..我嘗試了所有我能找到的排列算法。我需要一個回溯
任何想法/算法/僞代碼的條件回溯排列?
好,但哪裏驗證去了?我的意思是一個名爲valid()的函數,用於檢查最終置換實際上是否遵守某些規則 – Mocktheduck
已更新,以添加有效函數。我認爲這應該做你想做的。 –