El backtracking es una técnica algorítmica que resuelve problemas mediante la búsqueda sistemática y exhaustiva de todas las posibles soluciones. Funciona descomponiendo el problema en subtareas y explorando de forma recursiva todas las alternativas, retrocediendo cuando una opción lleva a un callejón sin salida. Se puede implementar de forma recursiva o iterativa, y existen variantes para encontrar la primera solución, todas las soluciones o la mejor solución.