A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Complexidade de Computação Para avaliar a qualidade de um algoritmo usamos como critério o espaço e o tempo de execução. Ao.

Apresentações semelhantes


Apresentação em tema: "Complexidade de Computação Para avaliar a qualidade de um algoritmo usamos como critério o espaço e o tempo de execução. Ao."— Transcrição da apresentação:

1 Complexidade de Computação Para avaliar a qualidade de um algoritmo usamos como critério o espaço e o tempo de execução. Ao processo de estimar o espaço em memória e o tempo necessário para executar um algoritmo chamamos de Análise de Algoritmos. Como para usar um espaço de memória demanda tempo, o maior cuidado é sempre dado à avaliação deste fator.

2 Complexidade de Computação Como entradas maiores requerem mais tempo de processamento, o tempo de execução (ou custo) de um algoritmo é dado como uma função do tamanho da entrada. Ex. - Quantidade de números para ordenação - Número de linhas e de colunas para matrizes. O tempo de execução de um algoritmo define um limite superior para o tempo de solução do problema.

3 Complexidade de Computação O tempo de execução varia de entrada para entrada, e a análise pode ser feita em função do pior caso ou do caso médio sobre todas as entradas de tamanho n. Como o caso médio requer muitas vezes uma análise mais elaborada, e em geral dá o mesmo resultado do caso médio, nós adotaremos a análise do pior caso.

4 Complexidade de Computação Nós porém não estamos interessados no tempo exato, mas sim em saber como a função cresce com o tempo. Observe porque: | n 60 n 2 + 5n n 2 | | | |

5 Complexidade de Computação Assim, se f(n) = 60 n 2 + 5n+1 e g(n) = 60n 2, dizemos que f = (g) (lê-se: f é da ordem exata de g). Definição formal: 1. f = (g) se existem constantes positivas c e n o, tais que: n > n o, f(n) c. g(n). 2. f = (g) se f = (g) e também g = (f).

6 Complexidade de Computação Observe que entre f (n) = 60 n 2 + 5n+1 e g(n) = 60n 2, temos: f = ( g) e g = (f). Por conta disso, dizemos que f = (g). Reciprocamente, temos g = (f). Note que nem sempre é o caso de f = ( g) e g = ( f). Ex: f (n) = n 2 e g(n) = n 3.

7 Complexidade de Computação Se f = ( g) dizemos que g é um limite superior de f. Intuitivamente, para valores arbitrariamente grandes de n, o valor de f (n) não é maior do que o valor de f (n), a menos de uma constante multiplicativa.

8 Complexidade de Computação Se g é um limite superior de f, então dizemos também que f é um limite inferior de g, denotado por: g = (f). Observe que se f = ( g) então g = (f).


Carregar ppt "Complexidade de Computação Para avaliar a qualidade de um algoritmo usamos como critério o espaço e o tempo de execução. Ao."

Apresentações semelhantes


Anúncios Google