Escolar Documentos
Profissional Documentos
Cultura Documentos
Complexidade 1x2 PDF
Complexidade 1x2 PDF
Estruturas de Dados
Estruturas de Dados
1/1
Anlise de Algoritmos
No desenvolvimento de algoritmos importante ter a noo da eficincia
de um algoritmo, i.e. da eficincia que pode ter uma implementao do
algoritmo.
Eficincia normalmente mede-se em tempo de execuo ou espao
(memria) necessrio execuo do algoritmo (ou programa
associado).
Tempo de Execuo de um algoritmo varia com o input e
normalmente aumenta com o tamanho do input.
I
I
Estruturas de Dados
2/1
Anlise terica
I
I
I
Estruturas de Dados
3/1
Estruturas de Dados
4/1
Estruturas de Dados
5/1
Estruturas de Dados
6/1
log2 n
n
n2
n3
nk
an (a > 1)
Crescimento de
n log2 n
2
1
8
3
16
4
...
...
1024
10
algumas funes:
n
n n log2 n
1.4
2
2
2.8
8
24
4.0
16
64
...
...
...
32 1024
10240
n2
4
64
256
...
> 106
n3
8
512
4096
...
> 109
2n
4
256
65536
...
> 10308
Estruturas de Dados
7/1
Estruturas de Dados
8/1
Estruturas de Dados
9/1
Exemplos - O()
2n + 10 O(n)
porque:
2n + 10 cn
(c 2)n 10
10
(c 2)
outras funes:
O(n3 )
O(nk )
O(log n)
O(1)
O( n1 )
Estruturas de Dados
10 / 1
Regras de simplificao
Algumas regras que olhando para expresses mais complexas,
permitem-nos fazer simplificaes:
Se d(n) O(f (n)), ento ad(n) (com a > 0) O(f (n))
Se d(n) O(f (n)) e e(n) O(g(n)), ento d(n) + e(n) O(f (n) + g(n))
Se d(n) O(f (n)) e e(n) O(g(n)), ento d(n)e(n) O(f (n)g(n))
Se d(n) O(f (n)) e f (n) O(g(n)), ento d(n) O(g(n))
Estruturas de Dados
11 / 1
i=1 (n
i)
= (n 1) + (n 2) + . . . + 2 + 1 =
=
n(n1)
2
n2
2
n
2
O(n2 )
Estruturas de Dados
12 / 1
c + T (n 1),
T (n) =
d,
se n > 1
se n 1
assumindo n 2: T (n 1) = c + T (n 2) T (n) = 2c + T (n 2)
Estruturas de Dados
13 / 1
k < 1, Complexidade
7. Introduo
Temos de resolver n/2
o que ddekAlgoritmos
> log2 n
Estruturas de Dados
14 / 1
Estruturas de Dados
15 / 1
Estruturas de Dados
16 / 1
Estruturas de Dados
17 / 1