Backtracking வேட்பாளர் தீர்வுகளை படிப்படியாக உருவாக்குகிறது மற்றும் கைவிடுகிறது (பின்னிறங்கவுகிறது) ஒரு பகுதியான வேட்பாளரை அது செல்லுபடியாகும் தீர்வுக்கு வழிவகுக்க முடியாது என்பது தெரிந்தவுடன். இது DFS மூலம் தீர்வு இடத்தை முறையாக ஆராய்ந்து, இறந்த முனைகளை கத்தिरन் செய்கிறது.
கருத்து
தேர்ந்தெடு -> ஆராய -> மாற்றம் செய். ஒரு விருப்பத்தை முயற்சி செய்யுங்கள், மறுசெயல் செய்யுங்கள்; அது தோல்வியடைந்தால், அதை மாற்றம் செய்து அடுத்ததை முயற்சி செய்யுங்கள்.
எடுத்துக்காட்டு: அனைத்து வரிசைமாற்றங்கள்
():
result = []
():
remaining:
result.append(path[:])
i ((remaining)):
path.append(remaining[i])
backtrack(path, remaining[:i] + remaining[i+:])
path.pop()
backtrack([], nums)
result
permutations([, , ])
