Requisito previo: análisis de algoritmos
Un algoritmo es una combinación o secuencia de estados finitos para resolver un problema dado. Si el problema tiene más de una solución o algoritmo, el mejor se decide mediante el análisis basado en dos factores.
- Tiempo de CPU ( complejidad de tiempo )
- Espacio de memoria principal ( Complejidad espacial )
La complejidad temporal de un algoritmo se puede calcular utilizando dos métodos:
- Análisis posterior
- Análisis a priori
Diferencia entre análisis a posteriori y análisis a priori:
Un análisis posterior | Análisis a priori |
---|---|
El análisis posterior es un análisis relativo. | El análisis a priori es un análisis absoluto. |
Depende del idioma del compilador y del tipo de hardware. | Es independiente del lenguaje del compilador y de los tipos de hardware. |
Dará respuesta exacta. | Dará una respuesta aproximada. |
No utiliza notaciones asintóticas para representar la complejidad temporal de un algoritmo. | Utiliza las notaciones asintóticas para representar cuánto tiempo tardará el algoritmo en completar su ejecución. |
La complejidad temporal de un algoritmo que utiliza un análisis a posteriori difiere de un sistema a otro. | La complejidad temporal de un algoritmo que utiliza un análisis a priori es la misma para todos los sistemas. |
Si el tiempo que toma el programa es menor, entonces el crédito irá al compilador y al hardware. | Si el algoritmo se ejecuta más rápido, el crédito es para el programador. |
Publicación traducida automáticamente
Artículo escrito por anonymous007 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA