La complejidad de un algoritmo mide su eficiencia al resolver un problema, considerando el tiempo de ejecución en relación al tamaño de la entrada. Se analiza el caso promedio y peor caso, y la notación asintótica Big-O clasifica los algoritmos en familias de comportamiento como complejidad constante, lineal, cuadrática, logarítmica y exponencial.