En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, un algoritmo (del
griego y latín, dixit algorithmus y éste a su vez del matemático persa Al-Juarismi)1 es un conjunto
prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite llevar a cabo una
actividad mediante pasos sucesivos que no generen dudas a quien deba hacer dicha actividad.
Estado abstracto: Cada estado computacional puede ser descrito formalmente utilizando una
estructura de primer orden y cada algoritmo es independiente de su implementación (los algoritmos
son objetos abstractos) de manera que en un algoritmo las estructuras de primer orden son
invariantes bajo isomorfismo.
Exploración acotada:La transición de un estado al siguiente queda completamente determinada por
una descripción fija y finita; es decir, entre cada estado y el siguiente solamente se puede tomar en
cuenta una cantidad fija y limitada de términos del estado actual.
Tiempo secuencial: Un algoritmo funciona en tiempo discretizado –paso a paso–, definiendo así una
secuencia de estados computacionales por cada entrada válida (la entrada son los datos que se le
suministran al algoritmo antes de comenzar).