Un algoritmo es un conjunto finito de pasos bien definidos para resolver un problema, con características de finitud, definibilidad, entrada, salida y efectividad. Puede representarse mediante texto narrativo, diagramas de flujo o pseudocódigo. Además, las representaciones pueden usar palabras o cálculos numéricos para describir los pasos del proceso.