Analise de complexidade

594 palavras 3 páginas
Análise de Complexidade
Pesquisa, Ordenação e Técnicas de Armazenamento Segundo Semestre de 2011 Prof. Fernando Aires

Complexidade
Quando queremos considerar a velocidade de um algoritmo, são várias as variáveis a serem levadas em conta:
Processador Memória RAM Linguagem Temperatura da sala Outros processos na máquina

Complexidade
Entretanto, é possível comparar a eficiência de um algoritmo com a de outro algoritmo, mesmo sem considerar os efeitos vistos. Quando falamos então apenas da eficiência do algoritmo, estamos falando de sua complexidade.

Análise do Algoritmo
Quantos vezes cada instrução do algoritmo é executada?
Analisar e descobrir em função dos laços. Laços encadeados são tratados multiplicando as execuções. Em execuções com condicionais, usa-se AV para o número de vezes que a condicional é verdadeira, e AF (letras diferentes para condicionais diferentes) para o número de vezes que a condicional é falsa.

Exemplos public static int soma (int a, int b) { int res = a+b; return res; } Passos: 1 1 T(n): 2 passos

Exemplos public static int soma (int [] vetor) { int res = 0; for(int i = 0; i < vetor.length; i++) { res+=vetor[i]; } return res; }

Passos: 1 n n.1 1 T(n): 2.n + 2

Exemplos public static int soma_pares(int [][] matriz) { int res = 0; for(int i = 0; i < vetor.length; i++) { if(vetor[i] % 2 == 0) res+=vetor[i]; } return res; }

Passos: 1 n n.Av n.Av.1 1 T(n): n + 2.n.Av + 2

Exemplo
Pior caso: todos os elementos pares (Av = 1, em média)
T(n) = 3.n + 2

Melhor caso: todos os elementos ímpares (Av = 0, em média)
T(n) = n +2

Ordens assintóticas
Qual dessas expressões é maior: n2-100 ou 5n+10? Tipicamente, quando fazemos esse tipo de análise, pensamos em números pequenos (próximos de zero).

Ordens assintóticas
Entradas pequenas não influenciam diretamente na complexidade dos algoritmos. Devemos, então, encontrar o algoritmo assintoticamente mais eficiente, ou seja, o melhor para todas as entradas, exceto

Relacionados

  • Analise de Complexidade
    2595 palavras | 11 páginas
  • Analise Complexidade
    2095 palavras | 9 páginas
  • Análise de complexidade
    572 palavras | 3 páginas
  • Análise de Complexidade de Algoritmos
    879 palavras | 4 páginas
  • Analise e complexidade de algoritmos
    521 palavras | 3 páginas
  • analise e complexidade de algoritmos
    1253 palavras | 6 páginas
  • ANALISE E COMPLEXIDADE DE ALGORITMOS
    464 palavras | 2 páginas
  • Analise e complexidade de algoritmos
    337 palavras | 2 páginas
  • Analise e complexidade de algoritmos
    1036 palavras | 5 páginas
  • Análise e complexidade de algoritmos
    1009 palavras | 5 páginas