Otra técnica común usada en el diseño de algoritmos es el de “divide y vencerás” y que consta de dos partes: – Dividir: los problemas más pequeños se resuelven recursivamente (excepto, por supuesto, los casos base). – Vencer: la solución del problema original se forma entonces a partir de las …

Divide y vencerás Leer más »

Los algoritmos voraces típicamente se utilizan en la solución de problemas de optimización y se caracterizan por ser: – Sencillos de diseñar y codificar. – Miopes: toman decisiones con la información que tienen disponible de forma inmediata, sin tener en cuenta sus efectos futuros. – Eficientes: dan una solución rápida …

Algoritmos voraces Leer más »

Las rutinas recursivas son aquellas que hacen llamadas a sí mismas en su definición, simplificando los valores originales de entrada. Este tipo de rutinas se puede implementar en los casos en que el problema que se desea resolver puede simplificarse en versiones más pequeñas del mismo problema, hasta llegar a …

Rutinas recursivas Leer más »

Este tipo de estructura se utiliza para ejecutar selectivamente secciones de código de acuerdo con una condición definida. Este tipo de estructura sólo tiene dos posibilidades: si la condición se cumple, se ejecuta una sección de código; si no, se ejecuta otra sección, aunque esta parte puede omitirse. Es importante …

Condicionales Leer más »

Los acumuladores son variables que tienen por objeto almacenar valores incrementales o decrementales a lo largo de la ejecución del algoritmo. Este tipo de variables utiliza la asignación recursiva de valores para no perder su valor anterior. Su misión es arrastrar un valor que se va modificando con la aplicación …

Acumuladores Leer más »