Você está na página 1de 2

BCC241 PROJETO E ANLISE DE ALGORITMOS

1. Trabalho Prtico: Dividir para Conquistar/Anlise Emprica

REGRAS BSICAS
Trabalho prtico em dupla. Ambos os membros devero ser capazes de explicar TODO o trabalho. Sempre cite suas fontes: pessoas, livros, stios. Toda a documentao do cdigo deve ser gerada usando Doxygen. Cdigo fonte deve ser depositado no Moodle. Relatrio deve ser depositado no Moodle.

ESPECIFICAO
O trabalho prtico a ser entregue envolve as seguintes etapas, que devem ser sees do relatrio a ser depositado no Moodle. 1. Instalao do PaaPaa a. Instalar o pacote (http://www.decom.ufop.br/paapaa/) em C++ para Linux. Essa instalao inclui tambm Eclipse e Doxygen. b. Dificuldades, procurar o Brulio ( c. Relatar dificuldades e sugestes de melhora da pgina e das instrues. 2. Anlise emprica da influncia da parada de recurso a. Utilizar as implementaes de QuickSort e MergeSort e, para cada um deles, investigar a influncia de diferentes definies de tamanho. b. Explicar porque a investigao importante e porque deve ser feita empiricamente. c. Apresentar os resultados com medio de tempo (dizer o mtodo e justificar), para tamanhos de parada variados. Escolher um tamanho de entrada fixo (grande) e gerar resultados para pelo menos 20 vetores diferentes gerados aleatoriamente. d. A comparao com ferramentas estatsticas ser considerada como ponto extra. e. Apresentar grficos comparativos. 3. Quicksort com piv escolhido aleatoriamente. a. Explique porque o Quicksort implementado apresenta pior caso n 2. Diga para qual entrada o pior caso atingido. b. Implemente, atravs da derivao da classe de QuickSort, um novo mtodo de pivotao que apresente pior caso esperado n log n, como visto em sala. c. Compare as duas implementaes para entradas onde a implementao disponvel no PaaPaa apresenta pior desempenho. Voc deve variar o tamanho da entrada para pelo menos 10 valores diferentes e os tamanhos devem ser grandes o suficiente para mostrar a superioridade da sua implementao (garanta que a entrada ruim para o PaaPaa...). Para cada vetor de entrada, considere o tempo de execuo de seu algoritmo como a mdia de 20 execues diferentes. 4. Exponenciao em log n multiplicaes

a. Extenda as classes Problema e Soluo para que o PaaPaa seja utilizado para resolver o problema de calcular o valor de an em n passos. b. Apresente uma discusso de sua estratgia de implementao e das dificuldades encontradas, alm do cdigo fonte.

Você também pode gostar