Si estudias programación de seguro habrás escuchado alguna vez sobre la complejidad algoritmica. Déjame darte un escenario antes de comenzar a la acción.

Cuando quieres resolver un problema tienes una variedad de algoritmos que pueden llegar a la solución. Solo que al tener varias soluciones nos lleva a la siguiente pregunta, ¿Cuál de ellos es el más eficiente?

Recordemos que un algoritmo es finito, preciso y eficiente. Como buen programador, tu misión siempre será llevar las buenas prácticas en el desarrollo. Y en este caso es crear programas eficientes y rápidos para resolver un problema.

Computadora al lado de un telefono mostrando la hora

¿Se imaginan que para enviar los datos de un formulario tarde minutos y no en segundos? De seguro te sentirías horrible. Y aquí es donde entra la complejidad algortímica a solucionarlo.

¿Qué es la complejidad algoritmica?

La complejidad algoritmica es una ciencia que se encarga de calcular la velocidad o el tamaño de un algoritmo. Cada lenguaje de programación y computadora puede variar su valor numérico, sin embargo, su medición es la misma

Los dos tipos de complejidad muy conocidos son:

  • Complejidad Espacial: Calcula el tamaño del algoritmo.
  • Complejidad Temporal: Calcula el tiempo en que tarda en ejecutar el algoritmo

¿Por qué aprender acerca Complejidad Algorítmica?

Hombre tocandose la barba pensando mientras usa la laptop

Si estás buscando que tu código mantenga su tiempo de ejecución o que el algoritmo ocupe poco espacio al momento de ejecutarse, sin importar la cantidad de datos de entrada, esto es un beneficio para tu programa porque lo ayuda a ser eficiente y es la ayuda que te trae la complejidad algoritmica.

En otro post profundizaré más acerca de la Complejidad Espacial, Complejidad Temporal y Analisís Asintótico (Otro factor elemental).

¿Conocian acerca de este tema? ¿Creen que hayan solo dos tipos de complejidades o habrá más? Me gustaría saber su opinión en los comentarios y espero que les haya gustado esta introducción.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *