Refinamiento progresivo

La evaluación de un algoritmo tiene como propósito medir su desempeño, considerando el tiempo de ejecución y los recursos empleados (memoria de la computadora) para obtener una solución satisfactoria. En muchas ocasiones, se le da mayor peso al tiempo que tarda un algoritmo en resolver un problema.

Para medir el tiempo de ejecución el algoritmo se puede transformar a un programa de computadora, y es aquí en donde entran otros factores como por ejemplo: el lenguaje de programación elegido, el sistema operativo empleado, la habilidad del programador, etcétera.

Pero existe otra forma, se puede medir el número de operaciones que realiza un algoritmo considerando el tamaño de las entradas al algoritmo (N). Entre más grande es la entrada, mayor será su tiempo de ejecución.

También se debe tomar en cuenta cómo está el conjunto de datos de entrada con el que trabajará el algoritmo, como por ejemplo en los algoritmos de ordenación, el peor caso es que las entradas se encuentren totalmente desordenadas, en el mejor de los casos que se encuentren totalmente ordenadas y en el caso promedio que estén parcialmente ordenada.

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