Pular para conteúdo

Introdução

Como medir o desempenho de algoritmo?

  • Tempo de execução
  • Memória Entretando, essas duas podem variar e existe um trade off entre elas.
  • Linguagem de programação e compilador
  • Quantidade de operações
    • Única que não é variável.

Problema: Encontrar o maior valor de um vetor.

int main(){
    int v[10];
    int maior = v[0]; // Custo de 1 para alocação de memória
    for(int i = 1; i < 10; i++){ // (1 alocação)(n para iteração)(n-1 para soma de i)
        if(v[i] > maior){ // n-1 iteração
            maior - v[i]; // no pior caso n-1
        }
    }
    printf("o maior é: %d", maior);
}

Portanto, somanto todos os custos -> <= 1 + 1 + n + n - 1 + n - 1 + n - 1 + 1. Ou seja, <= 4n.

Tipos Primitivos Modificadores
1B char short
4B int long
4B float unsigned
8B double
  • long: inteiro de 64 bits. (8B ou 12B)