Backtracking yana gina sharuruwan da suka kamata kwata-kwata kuma yan jiya (sun koma baya) daga wani sharuruwan da ba zai iya haifar da magani mai inganci ba. Yana nazarin sararin mafita a yarda da tsarin DFS, kuma yana sare rassan da suka mutu.
Tunanin
Zaba -> leekitawa -> bada jiya. Gwada zabin daya, maimaita; idan ya gajiya, bada jiya kuma gwada na gida.
Misali: dukan permutations
():
result = []
():
remaining:
result.append(path[:])
i ((remaining)):
path.append(remaining[i])
backtrack(path, remaining[:i] + remaining[i+:])
path.pop()
backtrack([], nums)
result
permutations([, , ])
