2. Una técnica de resolución de problemas que consiste en
explorar sistemáticamente todas las posibles soluciones a
un problema, y retroceder (backtrack) cuando se llega a un
punto donde no es posible continuar, para buscar otras
soluciones. Esta técnica se utiliza en problemas de
búsqueda y optimización. En C++, se puede implementar el
backtracking utilizando la recursión.
DEFINICION
3. El algoritmo de retroceso normalmente funciona de la siguiente
manera:
Elija una solución inicial y colóquela en la raíz del árbol de
búsqueda.
Examine la siguiente opción, seleccione una y agréguela a la
solución actual.
Si la solución actual es válida, pase a la siguiente opción y repita
el segundo paso
Si la solución actual no es válida, retroceda hasta el último punto
de decisión y pruebe una opción diferente.
Continúe el proceso hasta que se encuentre una solución o se
hayan examinado todas las soluciones posibles.
4. 01
Permite encontrar todas
las soluciones posibles a
un problema.
02
Es una técnica de
resolución de problemas
general que se puede
aplicar a muchos tipos de
problemas diferentes.
03
El backtracking es una
técnica fácil de entender
y de implementar.
04
El backtracking puede ser
muy efectivo cuando se
aplica correctamente.
VENTAJAS
004
5. 01
Puede ser ineficiente
para problemas con un
gran número de soluciones
posibles..
02
La complejidad temporal
del backtracking puede
ser muy alta en algunos
casos, lo que hace que el
algoritmo sea impráctico
o incluso imposible de
aplicar.
03
Puede requerir una gran
cantidad de memoria para
almacenar el árbol de
decisiones completo.
04
No garantiza encontrar la
solución óptima a un
problema, a menos que se
utilicen técnicas de poda
y optimización
adicionales.
DESVENTAJAS
005
6. • GeeksforGeeks. (n.d.). Backtracking algorithms. Retrieved March 10, 2023, from
https://www.geeksforgeeks.org/backtracking-algorithms/
• Wikipedia. (2022, November 18). Backtracking algorithm. In Wikipedia.
Retrieved March 10, 2023, from https://en.wikipedia.org/wiki/Backtracking
Bibliografia
006