Algoritmo é uma sequência finita de instruções, bem definidas e não-ambíguas, para um dado problema. Cada instrução de um algoritmo deve ser executada por um período de tempo finito. Um algoritmo ́e uma abstração, uma ideia ou uma estratégia.
Conjunto de dados que deve ser fornecido ao algoritmo.
Agentes transformadores de dados de entrada em dados de saída.
Conjunto de dados produzidos pelo algoritmo.