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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2.2. Complexida<strong>de</strong> pessimista<br />

Assumindo que o teste é possível em tempo constante, ele é absorvido pelo<br />

trabalho em ambos casos, tal que<br />

cp[A] ≤ max(cp[v := or<strong>de</strong>na(u)], cp[s := soma(u)])<br />

e com, por exemplo, cp[v := or<strong>de</strong>na(u)](n) = n 2 e cp[s := soma(u)](n) = n<br />

temos<br />

cp[A](n) ≤ n 2<br />

2.2.2. Exemplos<br />

Exemplo 2.6 (Bubblesort)<br />

Nesse exemplo vamos estudar o algoritmo Bubblesort <strong>de</strong> or<strong>de</strong>nação.<br />

Bubblesort<br />

Algoritmo 2.2 (Bubblesort)<br />

Entrada Uma sequência a1, . . . , an <strong>de</strong> números inteiros.<br />

Saída Uma sequência a π(1), . . . , a π(n) <strong>de</strong> números inteiros on<strong>de</strong> π uma<br />

permutação <strong>de</strong> [1, n] tal que para i < j temos a π(i) ≤ a π(j).<br />

1 for i :=1 to n<br />

2 { Inv : an−i+2 ≤ · · · ≤ an são os i − 1 maiores elementos }<br />

3 for j :=1 to n − i<br />

4 i f aj > aj+1 then<br />

5 swap aj ,aj+1<br />

6 end i f<br />

7 end for<br />

8 end for<br />

Bubblesort: Complexida<strong>de</strong><br />

• A medida comum para algoritmos <strong>de</strong> or<strong>de</strong>nação: o número <strong>de</strong> comparações<br />

(<strong>de</strong> chaves).<br />

♦<br />

41

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

Saved successfully!

Ooh no, something went wrong!