Um algoritmo é uma sequência de etapas bem definidas, que define uma solução abstrata para um problema. Use essa tag quando o problema está relacionado ao projeto de um algoritmo. Use sempre tags de algoritmos específicas quando a pergunta for mais direcionado para um tipo específico de algoritmo.
Um algoritmo é um conjunto de instruções ordenados com base em uma linguagem formal com as seguintes condições:
Finito. O número de instruções deve ser finito.
Executável. Todas as instruções devem ser executáveis, de alguma forma dependem do idioma, em uma quantidade finita de tempo.
Determinístico. O algoritmo deve ser previsível.
Um algoritmo pode ser expresso de várias maneiras: como uma sequência de instruções, como um esquema de bloqueio, como um código em uma linguagem de programação existente ou novo, como um pedaço de texto em uma linguagem humana, ou em outras maneiras similares.
Um algoritmo pode resolver uma classe de problemas. Por exemplo, tanto a "soma de 1 e 3" e "soma 4 e 5" são problemas na mesma classe: "Soma dois números inteiros" Além disso, uma determinada classe de problemas pode ser resolvido em geral, por uma variedade de algoritmos.
Um aspecto importante do projeto de algoritmos é o desempenho. Para grandes conjuntos de dados um bom algoritmo pode superar um algoritmo pobre em várias ordens de magnitude. Desempenho do algoritmo é frequentemente avaliado com Big O ou notação Θ
Uma classificação de algoritmo de chave é conhecido como Algoritmo Complexidade.
Links relacionadas
Recursos adicionais sobre algoritmos incluem: