A complexidade do algoritmo muitas vezes é representada pela op. relevante pelo fato dessa representação muitas vezes ser da mesma ordem de complexidade do total de operações.
Somatórios simples:
- soma de uma constante:
- soma dos nºs naturais até n:
Exemplos:
- análise da função fatorial
int fatorial (int N) {
int fat = 1;
for (in i=2; i<=N; i++)
fat = fat * i;
return fat;
}
Operação relevante: multiplicaçãof(n) = nº de repetições da OP. relevante
- soma de matrizes
for(int i=1; i<=N; i++)
for(int j=1; i<=N; j++)
C[i][j] = A[i][j] + B[i][j]Operação relevante: somaf(n) = nº de repetições da OP. relevante
- multiplicação de matrizes
for(int i=1; i<=N; i++)
for(int j=1; i<=N; j++){
C[i][j] = 0;
for(int k=1; k<=N; k++)
C[i][j] = C[i][j] + A[i][k] * B[k][j];
}Operação relevante: multiplicaçãof(n) = nº de repetições da OP. relevante
- dois laços em sequência
int soma = 0;
for(int i=1; i<=N; i++)
scanf("%d", &a[i]);
for(int j=1; i<=N; j++)
soma = soma + a[j];f(n) = nº de instruções
Entendi um pouquinho, vou ler mais um pouco to meio confuso. :-)
ResponderExcluir