Análisis del problema

El análisis del problema es un proceso para recabar la información necesaria para emprender una acción que solucione el problema.

Diversos problemas requieren algoritmos diferentes, un problema puede llegar a tener más de un algoritmo que lo solucione, pero la dificultad se centra en saber cuál algoritmo está mejor implementado, es decir que, dependiendo del tipo de datos a procesar tenga un tiempo de ejecución óptimo.

Para poder determinar el rendimiento de un algoritmo se deben considerar dos aspectos:

1. La cantidad de datos de entrada a procesar, y
2. El tiempo necesario de procesamiento

El tiempo de ejecución depende del tipo de datos de entrada que pueden clasificarse en tres casos:

Caso óptimo: datos de entrada con las mejores condiciones, por ejemplo. que el conjunto de datos se encuentre completamente ordenado.

Caso medio: conjunto estándar de datos de entrada, p. ej. que el 50% de datos se encuentre ordenado y el 50% de datos restante no lo esté.

Peor caso: datos de entrada más desfavorable, p. ej. que los datos se encuentren completamente desordenados.

Mediante el empleo de fórmulas matemáticas es posible calcular el tiempo de ejecución del algoritmo y conocer su rendimiento en cada uno de los casos ya presentados.

Existen ciertos inconvenientes para no determinar con exactitud el rendimiento de los algoritmos, a saber:

Algunos algoritmos son muy sensibles a los datos de entrada modificando cada vez su rendimiento y por ende, entre ellos no sean comparables en absoluto.

Algoritmos bastante complejos de los cuales no sea posible obtener resultados matemáticos específicos.

No obstante lo anterior, en la mayoría de los casos, sí es posible calcular el tiempo de ejecución de un algoritmo, y así poder seleccionar el algoritmo que tenga el mejor rendimiento para un problema en particular.

Fuente: Apunte Análisis, diseño e implantación de algoritmos de la facultad de contaduría y administración, UNAM