Pular para conteúdo

Algoritmos

Um algoritmo é um procedimento finito e não ambíguo que transforma entradas válidas em saídas que satisfazem um contrato. Esta seção combina implementação com análise de correção e de recursos.

Tópicos

Lista de verificação para avaliação

Para cada algoritmo, pergunte:

  1. Qual é o modelo da entrada e quais são as pré-condições?
  2. O que ele garante ao retornar?
  3. Por que termina e produz o resultado correto?
  4. Quais são seus custos no melhor caso, esperados, amortizados e no pior caso, quando relevantes?
  5. É estável, in-place, determinístico, online ou adaptativo?
  6. Alguma implementação de biblioteca disponível oferece um contrato mais forte?