Tógann backtracking réitigh bharrúil go céimníoch agus thréigean (filleann sé siar) ó bharrúil pháirteach a luath is nach féidir léi réiteach bhailí a thabhairt ar chéachtas. Scrúdaíonn sé an spás réiteach go córasach trí DFS, ag foluain ghéaga marbha.
An smaoineamh
Roghnaigh -> fiosraigh -> diomhnaigh. Triail a dhéanamh ar rogha, athfhillteach; más theip uirthi, cuir ar ceal í agus triail an chéad cheann eile.
Sampla: gach iomalartú
():
result = []
():
remaining:
result.append(path[:])
i ((remaining)):
path.append(remaining[i])
backtrack(path, remaining[:i] + remaining[i+:])
path.pop()
backtrack([], nums)
result
permutations([, , ])
