¿Qué es un algoritmo? Un algoritmo es una secuencia de instrucciones que nos llevan hacia una solución. Un algoritmo esta formado por:

  1. Entrada: Son los datos o parámetros que recibe el algoritmo (Input).
  2. Proceso: Con los datos de entrada, el algoritmo realizará una serie de cálculos lógicos para resolver el problema.
  3. Salida: (Opcional) Los resultados obtenidos en el procesamiento se mostrarán en la salida o output del algoritmo.

¿Cómo elegir un buen algoritmo?

Para un problema existen muchas soluciones, para un problema en particular existen muchos algoritmos que lo resuelven.

¿Qué evaluamos de un algoritmo? El tiempo y el espacio.

Tiempo de algoritmo: El tiempo que tarda el algoritmo en ejecutarse.

Espacio de algoritmo: El espacio que el algoritmo ocupa en memoria.

Dependiendo de lo que estemos creando y cuáles serán los usuarios finales, será lo que tomemos más en cuenta:

En dispositivos embebidos el buen manejo del espacio es crucial.

Si no tenemos problemas de poco espacio disponible, como en JavaScript por ejemplo, ya que las aplicaciones se ejecutarán en computadoras o dispositivos móviles ya han ocupado espacio, es por ello que el tiempo es un factor más importante en JavaScript.


Complejidad algorítmica

Los recursos que tenemos para medir la complejidad de un algoritmo son el tiempo y el espacio:

El tiempo es representado en milisegundos, segundos, minutos, etc.

El espacio es representado en bytes, kilobytes, megabytes, gigabytes, etc.