Complejidad

Apuntes

Análisis de la complejidad de los algoritmos

Videos

Complejidad Algorítmica sin llorar - Notación Big O

Cómo ANALIZAR tus ALGORITMOS (en Ingeniería Informática) 👨‍💻📈

Notación Big O | Análisis de algoritmos de forma sencilla

Calcular la complejidad algorítmica / orden de un algoritmo

La complejidad es una medida del número de operaciones que tiene que hacer un programa para realizar una tarea, cada una de las operaciones tiene un coste. Estas operaciones pueden incluir desde accesos a memoria, escrituras, lecturas, asignaciones de memeria, operaciones aritmeticas y logicas del procesador… es decir, operaciones de bajo nivel. Hasta procesos más generales que engloban estas operacione de bajo nivel como ordenación de datos y gestión de estructuras, operaciones de busqueda de datos, opreaciones de entrada y salida de datos, etc… Cualquier cosa que haga un algoritmo o programa se puede medir por lo que se puede calcular su complejidad.

La notacion Big-O o Notacion asintótica.

La notacion Big-O o notacion asintotica es relacion matematica que mide como evoluvciona la complejidad de un programa o algoritmo según aunmeta la entrada del mismo. La complejidad en sistemas computacionales se puede clasificar en varios tipos, cada uno de ellos relevante según el contexto y la tarea a realizar:

image.png

La Relación entre Funciones, Derivadas y Complejidad

Una forma intuitiva de entender el crecimiento de las operaciones en un algoritmo es mediante el análisis de funciones matemáticas. Por ejemplo, cuando decimos que un algoritmo tiene complejidad O(n)O(n)O(n), asumimos que procesar 1 elemento cuesta 1 unidad de tiempo y procesar 500 elementos costaría aproximadamente 500 unidades. Aquí se asume un crecimiento lineal sin distinguir el impacto de constantes multiplicativas.

Derivadas y Constantes Ocultas