La teoría de la complejidad computacional se centra en clasificar los problemas computacionales según el uso de recursos y relacionar estas clases entre sí. Un problema computacional es una tarea resuelta por una computadora. Un problema de cálculo se puede resolver mediante la aplicación mecánica de pasos matemáticos, como un algoritmo.
¿A qué te refieres con complejidad del algoritmo?
La complejidad de un algoritmo es una medida de la cantidad de tiempo y/o espacio requerido por un algoritmo para una entrada de un tamaño dado (n).
¿Qué es la complejidad algorítmica en la estructura de datos?
La complejidad algorítmica es una medida de cuánto tardaría un algoritmo en completarse dada una entrada de tamaño n. Si un algoritmo tiene que escalar, debe calcular el resultado dentro de un límite de tiempo finito y práctico, incluso para valores grandes de n. Por esta razón, la complejidad se calcula asintóticamente cuando n tiende a infinito.
¿Por qué es importante la complejidad algorítmica?
Los informáticos utilizan medidas matemáticas de complejidad que les permiten predecir, antes de escribir el código, qué tan rápido se ejecutará un algoritmo y cuánta memoria requerirá. Tales predicciones son guías importantes para los programadores que implementan y seleccionan algoritmos para aplicaciones del mundo real.
¿Cómo se calcula la complejidad algorítmica?
Para cualquier bucle, averiguamos el tiempo de ejecución del bloque dentro de ellos y lo multiplicamos por el número de veces que el programarepite el bucle. Todos los bucles que crecen proporcionalmente al tamaño de entrada tienen una complejidad de tiempo lineal O(n). Si recorre solo la mitad de la matriz, sigue siendo O(n).