Skip to content

vleema/Trabalho-Unidade1-EDB2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

122 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vídeo Solicitado

Assista ao vídeo para entender o funcionamento do projeto.

Observação: No momento do vídeo onde se fala sobre as implementações em rust, foi omitida uma etapa importante que está descrita no tópico 2.4 do nosso trabalho. Basicamente, em rust tem duas formas de rodar. No "cargo run" ele testa a performance e gera as listas com diversas entradas. Já o "cargo test" ele vê com as funções de test se estão funcionando própriamente.

Sobre o repositório

$\LaTeX$

Para compilar o documento, use o Makefile na pasta latex.

  • Compila o arquivo main.pdf em latex/output.
make
  • Limpa os arquivos de compilação
 make clean

Implementação dos algoritmos

Os arquivos de código que contem as implementações requeridas estão na pasta src/, em Rust estão sendo implementados os algoritmos de ordenação e em C++ foram implementados os idadeRep, idadeRep2, bBinRec e binSearch.

Rust

Rodando

Pra rodar basta executar dentro da pasta src/rust:

cargo run

E aí ele vai criar o arquivo src/rust/src/out/entries.txt e src/rust/src/out/output.txt, com as listas que ele usou e o resultado de performance respectivamente.

C++

Estando em src/cpp, compile e execute <algoritmo>/main.cpp.

Por exemplo:

clang++ -O3 binSearch/main.cpp

Um arquivo chamado output.txt vai ser criado na pasta atual.

Observação: A flag "-03" é colocada para compilar em maximum performance. Se ela estiver ocasionando erros na sua máquina é possivel compilar sem a flag.

Lista de atividades dos colaboradores

1. Análise Teórica

  • 1.0 Deve ser feita a descrição das funções/procedimentos utilizados e uma explicação do funcionamento geral para o algoritmo (pseudocódigo), buscando justificar o resultado esperado em todos os casos possíveis (explicar porque o seu algoritmo funciona). (Marina)
  • 1.1 Estabeleça pseudocódigos para o algoritmo de ordenação BubbleSort em versões iterativa e recursiva e analise a complexidade em relação as notações Big O, ômega e Theta. Para a versão recursiva, utilize os 4 métodos vistos. (Marina)
  • 1.2 Estabeleça pseudocódigos para o algoritmo de ordenação MergeSort em versões iterativa e recursiva e analise a complexidade em relação as notações Big O, ômega e Theta. Para a versão recursiva, utilize os 4 métodos vistos. (Vinicius e Gabriel)
  • 1.3 Estabeleça pseudocódigos para o algoritmo de ordenação QuickSort em versões iterativa e recursiva e analise a complexidade em relação as notações Big O, ômega e Theta. Para a versão recursiva, utilize os 4 métodos vistos. (Marina)

2. Fase de análise de algoritmo

  • 2.0 Descreva o ambiente computacional utilizado (Software e Hardware).(Vinicius)
  • 2.1 Função iterativa
    • 2.1.A Implemente os códigos idadeRep e idadeRep2, vistos em sala de aula. (Gabriel)
    • 2.1.B Crie instâncias aleatórias com idades (inteiros) variando entre 0 e 100, com tamanhos n=100, n=1.000, n=10.000. (Gabriel)
    • 2.1.C Compute os tempos de processamento e compare com os resultados da análise assintótica vista em sala. (Gabriel)
  • 2.2 Função recursiva
    • 2.2.A Implemente os códigos buscaBinaria e bBinRec, vistos em sala de aula. (Bianca)
    • 2.2.B Crie instâncias aleatórias com idades (inteiros) variando entre 0 e 100, com tamanhos n=100, n=1.000, n=10.000 (Bianca)
    • 2.2.C Compute os tempos de processamento e compare com os resultados da análise assintótica vista em sala. (Bianca)
  • 2.3 Implemente os algoritmos de ordenação baseados nos pseudocódigos que você sugeriu nos itens 1.A, 1.B e 1.C, em suas versões iterativa e recursiva. (Vinicius)
  • 2.4 Crie listas aleatórias, com inteiros variando entre 0 e 1000, de tamanho 1.000, 10.000 e 100.000(salve as listas em arquivo txt). (Vinicius)
  • 2.5 Execute os algoritmos de ordenação (BubbleSort, MergeSort e QuickSort, iterativo e recursivo) nas listas, salve o resultado da lista ordenada em um arquivo txt, e compute o tempo de processamento para cada caso. Faça o tabelamento dos resultados, e realize uma análise detalhada. Esta análise deve constar no arquivo PDF enviado. (Vinicius)

Na verdade verdadeira, todo mundo se intrometeu em tudo! Mas por fins de prestar conta, essa é nossa lista.


© IMD/UFRN 2024

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors