Paradigmas de Resolución de algoritmos
No hay una fuente que diga de manera clara cuantos tipos de paradigmas existen, pero varias fuentes nombran hasta 12 paradigmas: Divide and Conquer, Dynamic Programming, Greedy Algorithms, Complete Search (Brute Force), Heuristic Search, Graph Search, Approximation Algorithms, Probabilistic Algorithms, Backtracking, Meet-in-the-Middle, Simulation & Game Theory.
Pero nostros nos enfocaramos principalmente en estos cuatro paradigmas:
- Complete Search: La Búsqueda Completa son métodos que implican una búsqueda exhaustiva a través de todas las posibilidades, como el backtracking y la fuerza bruta (brute force).
- Divide and Conquer: Dividir y Conquistar son técnicas que descomponen problemas en subproblemas más pequeños, los resuelven de manera independiente y combinan sus soluciones.
- Greedy: los algoritmos voraces son aquellos que toman decisiones localmente óptimas en cada paso con la esperanza de encontrar una solución global óptima.
- Dynamic Programming La Programación Dinámica son enfoques que resuelven problemas descomponiéndolos en subproblemas más simples y almacenando los resultados para evitar cálculos redundantes. (Usar más espacio para menos velocidad)