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 />

Algoritmo 2.5 (Busca seqüencial)<br />

Entrada Uma sequência <strong>de</strong> números a1, . . . , an com n > 0 e um chave c.<br />

Saída A primeira posição p tal que ap = c ou p = ∞ caso não existe tal<br />

posição.<br />

1 for i := 1, . . . , n do<br />

2 i f ai = c then<br />

3 return i<br />

4 end i f<br />

5 end for<br />

6 return ∞<br />

Busca seqüencial<br />

• Fora do laço nas linhas 1–5 temos uma contribuição constante.<br />

• Caso a sequência não contém a chave c, temos que fazer n iterações.<br />

• Logo temos <strong>complexida<strong>de</strong></strong> pessimista Θ(n).<br />

Counting-Sort<br />

44<br />

Algoritmo 2.6 (Counting-Sort)<br />

Entrada Um inteiro k, uma sequência <strong>de</strong> números a1, . . . , an e uma sequência<br />

<strong>de</strong> contadores c1, . . . , cn.<br />

Saída Uma sequência or<strong>de</strong>nada <strong>de</strong> números b1, . . . , bn.<br />

1 for i := 1, . . . , k do<br />

2 ci := 0<br />

3 end for<br />

4 for i := 1, . . . , n do<br />

5 ca i := ca i + 1<br />

6 end for<br />

7 for i := 2, . . . , k do<br />

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

Saved successfully!

Ooh no, something went wrong!