Algoritmo:
Sequência finita de instruções, bem definidas que são “entendíveis” por um computador.
Análise assintótica:
Disciplina que busca o balanceamento entre corretude e eficiência em algoritmos.
Busca binária:
Algoritmo de busca eficiente para encontrar um elemento em um conjunto ordenado.
Corretude:
Complexidade:
Eficiência:
O quão eficiente o algoritmo resolve um problema, são critérios: tempo e recursos computacionais gastos(memória, processamento, etc).
Instância de um problema:
Subconjunto de um universo finito ou infinito de possibilidades de entrada para um algoritmo.
Em ordenação – Uma entrada de [A1..An] de um algoritmo de ordenação.
Pseudocódigo:
É uma solução intermediária para representar um algoritmo ele é usado porque: especificar um algoritmo em linguagem humana pode ser muito ou pouco verboroso, ambíguo e representar o algoritmo em linguagens de programação gera muitas instruções impostas pela linguagem utilizada, dessa forma existe um consenso para o uso na literatura.
Informações de um algoritmo:
Pior caso – Entrada n que gera maior esforço computacional;
Caso médio – Esforço gerado baseado na probabilidade de ocorrer problemas com a média de esforço de [A1..An] entradas;
Melhor caso – Entrada n que gera o menor esforço possível.
Medida empírica:
“Portugol”: Nome dado para um pseudocódigo escrito em português.
RSA:
Algoritmo de criptografia utilizado para sistemas de chaves assimétricas.