Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Complexidade de Algoritmos
Forma de medir a complexidade de um algoritmo Utilizando-se a notação do Big-O, a ordem de magnitude da expressão n2 + n é O(n2). A notação do Big-O pode ser derivada de f(n) utilizando os seguintes passos: Para termo da função, deixe seu coeficiente igual à 1 Mantenha o maior termo da função e descarte os outros termos. Os termos são classificados da mais baixa para a mais alta importância como mostrado a seguir : Log n, n, nlog n, n2, n3, . . ., nk , 2n, n!
2
Complexidade - Exemplo
Calcular a notação do Big-O da seguinte função: Primeiramente, é assumido que os coeficientes sejam iguais ao valor 1: Em seguida são removidos os fatores de importância mais baixa. Finalmente, a função original na notação Big-O fica: O(f(n)) = O(n2)
3
Complexidade - Comparações
A procura binária é de ordem O(log2n) A procura seqüencial é de ordem O(n) Tanto a ordenação por borbulhamento como ordenação de seleção direta são da ordem O(n2)
4
Complexidade - Comparações
Como comparar grandezas de crescimento logarítmico, linear, logarítmico linear, quadrático, polinomial, exponencial e fatorial? Construindo um quadro de comparação assumindo instruções com velocidade de 1 microsegundo e 10 instruções num loop
5
Complexidade - Análise
Considere dois algoritmos que fazem soma e multiplicação de duas matrizes linha 1 enquanto ( linha ≤ tamanho_da_matriz) faça col 1 enquanto (col ≤ tamanho_da_matriz) faça m3 [linha,col] m1 [linha , col] + m2 [linha,col] col col + 1 fim_enquanto linha linha + 1 Os “enquantos” interno e externo são dependentes do tamanho da matriz Portanto, a eficiência do algoritmo acima é: O (tamanho da matriz2) ou O(n2)
6
Complexidade - Análise
Agora a multiplicação linha 1 enquanto (linha ≤ tamanho_da_matriz) faça col 1 enquanto (col ≤ tamanho_da_matriz) faça m3 [linha, col ] 0 k 1 enquanto (k ≤ tamanho_da_matriz) faça m3 [linha, col] m3[linha, col] + m1[linha,k] * m2 [k, col] k k +1 fim_enquanto col col +1 linha linha +1 Três estruturas de repetição aninhadas tem uma eficiência na notação Big-O como: O(tamanho da matriz3) ou O(n3)
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.