¿Qué es un algoritmo? Un algoritmo es una secuencia de instrucciones que nos llevan hacia una solución. Un algoritmo esta formado por:
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.
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.