Conjunto de instrucciones o reglas definidas y no-ambiguas, ordenadas y finitas que permite, típicamente, solucionar un problema, realizar un cómputo, procesar datos y llevar a cabo otras tareas o actividades.​ Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia.

En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador de su patrón. Algunos ejemplos en matemática son el algoritmo de multiplicación, para calcular el producto, el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un sistema de ecuaciones lineales.

Resultan un procedimiento efectivo que puede aplicarse a insumos simbólicos de una clase determinada y que entonces, en un tiempo y número de pasos finito, produce el correspondiente exsumo simbólico. Una función para la que puede darse un algoritmo (a veces a más de uno) es una función algorítmica.

La descripción de un algoritmo usualmente se hace en tres niveles

  1. Descripción de alto nivel. Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles.
  2. Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución.
  3. Implementación. Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones.

También es posible incluir un teorema que demuestre que el algoritmo es correcto, un análisis de complejidad o ambos.

Las siguientes son ejemplos comunes de un algoritmo

a) Dado n, encontrar el enésimo número primo;

b) Diferenciar un polinomio; c) encontrar el máximo común divisor de x e y (el algoritmo de Euclides); y

d) Dados dos números x e y, decidir si x es múltiplo de y. Cuando se usa un algoritmo para calcular los valores de una función numérica, como en a) b) y c), las funciones también pueden describirse como algorítmicamente computables, efectivamente computables o, simplemente, computables.

Se conviene generalmente que los algoritmos tienen las siguientes propiedades –que les hacen esenciales para la teoría de la computación y para el desarrollo de la tesis de Church-Turing:

1) Un algoritmo puede especificarse mediante una sucesión finita de instrucciones,

2) Un mecanismo de computación (o un agente) puede proceder o computar según las instrucciones,

3) Hay recursos para computar, almacenar y recordar pasos de una computación,

4) Las computaciones pueden realizarse de manera discreta y paso a paso (en, por ejemplo, un ordenador digital), y

5) Las computaciones pueden realizarse de forma determinista (en, por ejemplo, una versión determinista de una máquina de Turing)

Nuestra vida en si es un Algoritmo. Veamos este video de la BBC donde lo explica muy bien:

Fuentes:  Algoritmo en Wikipedia. Diccionario Akal de Filosofía.