La complejidad de los algoritmos mide la cantidad de recursos (tiempo y memoria) requeridos para ejecutarlos. Depende de las estructuras de datos usadas y del tamaño del problema. Se analiza el peor caso, el caso promedio y el comportamiento asintótico a largo plazo. Los algoritmos se agrupan por su orden de complejidad o comportamiento asintótico similar.