Académique Documents
Professionnel Documents
Culture Documents
Introduo
o n > n0
Esta notao usada com trs objectivos:
limitar o erro que feito ao ignorar os termos menores nas frmulas
matemticas
limitar o erro que feito na anlise ao desprezar parte do programa
que contribui de forma mnima para o custo/complexidade total
permitir-nos classificar algoritmos de acordo com limites superiores
no seu tempo de execuo
Anlise de complexidade
Notao de O grande
Exemplos:
ck nk+ ck-1 nk-1 +...+ c0 = O(nk)
(ci - constantes)
log2 n = O(log n)
(no se indica a base porque mudar de base multiplicar por uma
constante)
4 = O(1)
(usa-se 1 para ordem constante)
Anlise de complexidade
Metodologia para determinar a complexidade
No melhor caso:
Apenas 1 execuo do ciclo for : n-1 comparaes e 0 trocas
No total : (n-1) operaes O(n)
No pior caso:
1 passagem pelo ciclo for : n1 comparaes e n1 trocas
2 passagem pelo ciclo for : n2 comparaes e n2 trocas
...
(n-1)-sima passagem pelo ciclo for: 1 comparao e 1 troca
Total de comparaes : (n-1) + (n-2) + ... + 1 = n(n-1)/2
Total de trocas : (n-1) + (n-2) + ... + 1 = n(n-1)/2
Total de operaes : 2x(n(n1)/2) = n(n-1) = (n 2n) O(n2)