Documente Academic
Documente Profesional
Documente Cultură
ANÁLISE DE
ALGORITMOS:
PARTE 1
Prof. André Backes
Algoritmos
2
1
28/02/2016
Algoritmos
4
2
28/02/2016
Análise de algoritmos
5
Análise de algoritmos
6
3
28/02/2016
Análise de algoritmos
7
Complexidade computacional
Medida criada para comparar a eficiência dos
algoritmos
Indica o custo ao se aplicar um algoritmo
Análise de algoritmos
8
Importante
O custo pode estar associado a outros recursos
computacionais, além da memória
Exemplo: trafégo de rede
Noentanto, para a maior parte dos problemas o
custo está relacionado ao tempo de execução em
função do tamanho da entrada a ser processada
4
28/02/2016
Análise de algoritmos
9
Análise empírica
10
Definição
Avalia o custo (ou complexidade) de um algoritmo
a partir da avaliação da execução do mesmo
quando implementado
Análise pela execução de seu programa
correspondente
5
28/02/2016
Análise empírica
11
Análise empírica
12
Vantagens
Permite avaliar o desempenho em uma
determinada configuração de
computador/linguagem
Considera custos não aparentes
Por exemplo, o custo da alocação de memória
Permite comparar computadores
Permite comparar linguagens
6
28/02/2016
Análise empírica
13
Desvantagens
Necessidade de implementar o algoritmo
Depende da habilidade do programador
Resultado pode ser mascarado
Hardware: computador utilizado
Software: eventos ocorridos no momento de avaliação
Análise matemática
14
7
28/02/2016
Análise matemática
15
Análise matemática
16
8
28/02/2016
Contando instruções
17
Contando instruções
18
9
28/02/2016
Contando instruções
19
Instruções simples
Todas possuem o mesmo custo
Comandos de seleção (como o comando if)
possuem custo zero
Não contam como instruções
Contando instruções
20
10
28/02/2016
Contando instruções
21
Contando instruções
22
11
28/02/2016
Contando instruções
23
Contando instruções
24
12
28/02/2016
Contando instruções
25
Contando instruções
26
13
28/02/2016
Contando instruções
27
Contando instruções
28
14
28/02/2016
Contando instruções
29
Material Complementar
30
Vídeo Aulas
Aula 99: Análise de Algoritmos
Aula 100: Análise de Algoritmos – Contando
Instruções
Aula 101: Análise de Algoritmos – Comportamento
Assintótico
Aula 102: Análise de Algoritmos – Notação Grande-O
Aula 103: Análise de Algoritmos – Tipos de Análise
Assintótica
Aula 104: Análise de Algoritmos – Classes de
Problemas
15