El diseño de un algoritmo involucra identificar los pasos necesarios para resolver un problema y organizar esos pasos de manera lógica. Comúnmente, los algoritmos se diseñan usando técnicas como la división y conquista, que divide un problema en partes más manejables.
Algunas técnicas comunes de diseño son:
División y conquista : Se descompone el problema en su problemas más pequeños, se resuelven y luego se combinan.
Greedy: Toma decisiones óptimas a cada paso con la esperanza de que lleven a una solución global óptima.
Programación dinámica: Guarda soluciones intermedias para evitar cálculos repetidos y mejorar la eficiencia.