Un algoritmo es una serie de instrucciones explícitas para resolver un problema, es decir, para una determinada entrada estándar, se puede obtener la salida requerida en un tiempo limitado. Si un algoritmo es defectuoso o inapropiado para un problema, ejecutarlo no resolverá el problema.
Diferentes algoritmos pueden utilizar diferente tiempo, espacio o eficiencia para realizar la misma tarea. La calidad de un algoritmo se puede medir por su complejidad espacial y temporal. Los ingenieros de algoritmos son personas que utilizan algoritmos para procesar cosas.