13.04.2013 Views

Algoritmos e complexidade Notas de aula - Arquivo Escolar

Algoritmos e complexidade Notas de aula - Arquivo Escolar

Algoritmos e complexidade Notas de aula - Arquivo Escolar

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2. Análise <strong>de</strong> <strong>complexida<strong>de</strong></strong><br />

• Para um algoritmo A, com entradas D seja<br />

exec[A] : D → E<br />

a função que fornece a sequência <strong>de</strong> instruções executadas exec[A](d)<br />

para cada entrada d ∈ D.<br />

• Se atribuímos custos para cada operação básica, po<strong>de</strong>mos calcular também<br />

o custo <strong>de</strong> uma execução<br />

custo : E → R +<br />

• e o custo da execução do algoritmo a <strong>de</strong>pen<strong>de</strong> da entrada d<br />

<strong>de</strong>semp[A] : D → R + = custo ◦ exec[A]<br />

Definição 2.1<br />

O símbolo ◦ <strong>de</strong>nota a composição <strong>de</strong> funções tal que<br />

(leia: “f <strong>de</strong>pois g”).<br />

(f ◦ g)(n) = f(g(n))<br />

Em geral, não interessam os custos específicos para cada entrada, mas o “comportamento”<br />

do algoritmo. Uma medida natural é como os custos crescem com<br />

o tamanho da entrada.<br />

Con<strong>de</strong>nsação <strong>de</strong> custos<br />

32<br />

• Queremos con<strong>de</strong>nsar os custos para uma única medida.<br />

• Essa medida <strong>de</strong>pen<strong>de</strong> somente do tamanho da entrada<br />

• O objetivo é <strong>de</strong>finir uma função<br />

tam : D → N<br />

aval[A](n) : N → R +<br />

que <strong>de</strong>fine o <strong>de</strong>sempenho do algoritmo em relação ao tamanho.<br />

• Como, em geral, tem várias entradas d tal que tam(d) = n temos que<br />

<strong>de</strong>finir como con<strong>de</strong>nsar a informação <strong>de</strong> <strong>de</strong>semp[A](d) <strong>de</strong>las.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!