Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Análisis de Algoritmos
El análisis de algoritmos es una herramienta para hacer la evaluación del diseño de un algoritmo, permite
establecer la calidad de un programa y compararlo con otros que puedan resolver el mismo problema, sin
necesidad de desarrollarlos. El análisis de algoritmos estudia, desde un punto de vista teórico, los
recursos computacionales que requiere la ejecución de un programa, es decir su eficiencia (tiempo de
CPU, uso de memoria, ancho de banda, ...). Además de la eficiencia en el desarrollo de software existen
otros factores igualmente relevantes: funcionalidad, corrección, robustez, usabilidad, modularidad,
mantenibilidad, fiabilidad, simplicidad y aún el propio costo de programación.
Los criterios para evaluar programas son diversos: eficiencia, portabilidad, eficacia, robustez, etc. El
análisis de complejidad está relacionado con la eficiencia del programa. La eficiencia mide el uso de los
recursos del computador por un algoritmo. Por su parte, el análisis de complejidad mide el tiempo de
cálculo para ejecutar las operaciones (complejidad en tiempo) y el espacio de memoria para contener y
manipular el programa más los datos (complejidad en espacio). Así, el objetivo del análisis de
complejidad es cuantificar las medidas físicas: tiempo de ejecución y espacio de memoria y comparar
distintos algoritmos que resuelven un mismo problema.
El tiempo de ejecución de un programa depende de factores como:
Los algoritmos son una de las herramientas más complejas y aplicables en el área no solo de la
informática y el mundo de los computadores sino también en el mundo empresarial y de trabajo. Pudimos
comprobar que mientras más potente, completo y eficiente es el computador o la aplicación que corre
sobre el mismo más grande, complejo y exacto es el algoritmo que utiliza. Las técnicas de desarrollo de
algoritmos nos permiten encontrar la mejor solución a los problemas que se nos presentan y deben ser
solucionados por el computador, estas técnicas están orientadas para utilizarse en cada uno de los
niveles de complejidad y variedad o alternativas para las cuales se aplican los algoritmos. Un algoritmo
es el conjunto de operaciones y procedimientos que deben seguirse para resolver un problema, es por
ellos que se deben implementar con más frecuencia. Mediante el análisis de algoritmos se puede
determinar la complejidad de cada uno de ellos, es decir, el tiempo de ejecución que tendrá ese programa
en función de la cantidad de datos de entrada. En situaciones reales este análisis permitirá elegir
justificadamente un algoritmo u otro para ser desarrollado e implementar la solución más eficiente a un
problema real.
https://www.undefinedworld.com/blog/analisis-de-algoritmos
https://plataforma.josedomingo.org/pledin/cursos/curso_cpp1/curso/u01/