Quarto Exercício-Programa

Estudo Experimental com Algoritmos de Ordenação

Entrega: 2 de julho

O objetivo desse exercício-programa é verificar empiricamente a complexidade computacional dos algoritmos de ordenação que estudamos.

Para isso, você deve implementar os diversos algoritmos de ordenação que foram apresentados nas aulas e fazer pelo menos os seguintes testes (pode fazer outros se desejar, é claro):

Você deve incluir no seu estudo experimental pelo menos os seguintes algoritmos: mergesort, quicksort (versão determinística e versão probabilística), heapsort, bubblesort e seleção direta. Se quiser, inclua outros.

Junto com o seu EP, você deve entregar um relatório sobre seus experimentos. Você pode incluir outros testes que julgar interessantes. A nota do seu EP vai basear-se fortemente neste relatório.

O seu EP será apenas usado para conferirmos que suas tabelas e dados foram gerados adequadamente. Por isso, se você quiser, pode pegar implementações destes algoritmos de ordenação disponíveis na internet. Claro, escolha sempre uma fonte confiável para copiar, e dê os créditos devidamente, incluindo no código do EP e no seu relatório comentários dizendo de onde você obteve as implementações.

Gerador de números aleatórios em C

Dê uma olhada nas páginas do Professor Paulo sobre números aleatórios.

Como cronometrar os algoritmos em C

Para cronometrar rotinas em C, você pode usar alguma das funções da biblioteca time.h do C. Dê uma olhada na descrição do Professor Paulo:

time.h

Avisos


Last modified: Wed Jun 13 18:42:55 BRT 2007