Significado de Algoritmo
Sustantivo masculino. Del latín medieval algorismus, deformación del nombre del matemático persa al-Juarismi.
Un algoritmo es una secuencia finita y ordenada de pasos precisos que, aplicada a un problema, permite resolverlo o llegar a un resultado en un número determinado de operaciones.
Aunque se asocia sobre todo a la programación, un algoritmo puede describir también un procedimiento cotidiano, como una receta de cocina o las instrucciones para montar un mueble.
Qué es un algoritmo
Un algoritmo no es un programa informático, aunque los programas se construyan a partir de algoritmos. El algoritmo es la idea abstracta —los pasos y su orden—; el programa es esa idea escrita en un lenguaje que una máquina puede ejecutar. El mismo algoritmo puede programarse en lenguajes distintos y seguir siendo el mismo algoritmo.
Para merecer el nombre, una secuencia de pasos debe cumplir varias condiciones: ser finita (terminar tras un número determinado de pasos), estar bien definida (cada paso no deja lugar a ambigüedad) y producir un resultado. Un conjunto de instrucciones vagas, o que puede repetirse sin fin sin llegar a nada, no es un algoritmo en sentido estricto.
Lo estudian principalmente la informática y las matemáticas, en una rama llamada análisis de algoritmos, que compara distintas soluciones a un mismo problema según los recursos que consumen: tiempo de ejecución y memoria.
Origen de la palabra algoritmo
Del latín medieval algorismus, deformación del nombre del matemático persa al-Juarismi (Muhammad ibn Musa al-Juarismi, siglo IX), cuyas obras sobre el cálculo con cifras arábigas se tradujeron al latín en la Edad Media. La terminación cambió después por asociación con el griego arithmós, «número», hasta dar la forma algorithmus, de la que proceden las voces modernas.
En español, «algoritmo» se documenta desde época medieval ligado al cálculo aritmético, y durante siglos designó sobre todo el arte de calcular con el sistema decimal. Con el nacimiento de la informática en el siglo XX, el término se amplió a cualquier procedimiento sistemático para resolver un problema, dentro o fuera de las matemáticas.
Tipos de algoritmos
| Tipo | En qué consiste | Ejemplo |
|---|---|---|
| De búsqueda | Localiza un elemento dentro de un conjunto de datos. | Encontrar un contacto en una lista ordenada. |
| De ordenación | Reorganiza un conjunto de datos según un criterio. | Ordenar una lista de precios de menor a mayor. |
| Recursivo | Se llama a sí mismo para resolver versiones más pequeñas del mismo problema. | El cálculo del factorial de un número. |
| Voraz | Elige en cada paso la opción que parece mejor en ese momento, sin reconsiderarla después. | Dar el menor número de monedas posible al devolver un cambio. |
También se distingue entre algoritmos deterministas, que ante una misma entrada siempre producen la misma salida, y algoritmos que incorporan algún elemento aleatorio en su funcionamiento.
Ejemplos de uso de algoritmo
El buscador aplica un algoritmo para ordenar los resultados según su relevancia.
La receta explica, paso a paso, el algoritmo para preparar la masa.
El profesor de matemáticas pidió diseñar un algoritmo para calcular el máximo común divisor de dos números.
La aplicación de mapas usa un algoritmo para calcular la ruta más corta entre dos puntos.
Cambiaron el algoritmo de recomendaciones y ahora aparecen contenidos distintos. (uso periodístico, referido a todo un sistema y no solo a un procedimiento)
Sinónimos y palabras relacionadas
Sinónimos: procedimiento, método de cálculo, rutina (en programación).
Antónimos: no tiene antónimos propiamente dichos; por contraste, «azar» o «improvisación» describen la ausencia de un procedimiento fijo.
No es lo mismo que:
- Programa: es el algoritmo escrito en un lenguaje de programación concreto y listo para ejecutarse; un mismo algoritmo puede dar lugar a programas distintos.
- Fórmula: una fórmula matemática calcula un resultado en un solo paso; un algoritmo puede incluir varios pasos, decisiones y repeticiones.
- Diagrama de flujo: es una forma de representar gráficamente un algoritmo, no el algoritmo en sí mismo.
Preguntas frecuentes sobre algoritmo
¿Qué es un algoritmo, en palabras sencillas?
Es una serie ordenada de instrucciones precisas que, seguidas paso a paso, resuelven un problema o completan una tarea. No hace falta que tenga relación con la informática: una receta de cocina bien escrita es también un algoritmo.
¿Todo programa informático es un algoritmo?
No exactamente. Un programa es la implementación de uno o varios algoritmos en un lenguaje de programación. El algoritmo es la lógica abstracta; el programa, el código concreto que la ejecuta en una máquina.
¿Qué hace que un algoritmo sea eficiente?
Que resuelva el problema con corrección, en un número razonable de pasos y usando poca memoria. La rama que compara estas cualidades entre distintos algoritmos se llama análisis de la complejidad.