Algoritmo es el conjunto de pasos para resolver un problema, mientras que complejidad significa la cantidad de recursos que se utilizan para llegar a una meta
En el análisis de la complejidad de los problemas computacionales son los que examinan como recursos posibles, el tempo de computo, la memoria requerida, y en ocasiones la cantidad de operaciones o trabajo necesario para llegar a una solución. También se analizan como pueden ser clasificados los problemas desde el punto de vista de la dificultad de resolverlos esto significa para que un problema determinado se toman en cuenta los mejores algoritmos existen para el y que tantos recurso se invierten en la resolución del problema.