Giter VIP home page Giter VIP logo

ordenacao's Introduction

Trabalho prático de PAA

Instruções de Envio: O trabalho deve ser enviado até o dia 19/02/2021 (sexta-feira). O grupo deve enviar o relatório com o nome completo dos integrantes do grupo; código fonte e, se necessário,instruções para configuração ou compilação. O trabalho deve estar em arquivo zip submetido via Google Classroom. Note que o arquivo zip não deve conter executáveis, para o Classroom não barrar o envio. Se for necessário enviar executáveis, envie um documento com um link para download do trabalho ou dos códigos fonte.

Data máxima para envio: O trabalho deve ser enviado até o dia 26/02/2021.

Especificações do trabalho prático: O trabalho pode ser desenvolvido em grupos de no máximo 3 pessoas. Implementar os algoritmos de ordenação e fazer uma análise experimental, calculando o tempo de execução dos algoritmos. Em seguida, deve ser relatada a análise assintótica, comparando os resultados obtidos com a análise experimental. Você deve mostrar a análise assintótica (somente a complexidade de tempo) do melhor caso, caso médio e pior caso. Essa análise pode ser obtida do material de aula ou de livros. Considere três tipos de entrada de dados, com o objetivo de identificar melhor caso, pior caso e caso médio dos algoritmos. A primeira entrada considera números gerados de forma aleatória; a segunda considera números gerados em ordem crescente; a terceira considera números gerados em ordem decrescente. Execute os algoritmos de ordenação com diferentes tamanhos de entrada, isto é, vetores com diferentes tamanhos. Exemplos de tamanho de vetor (n): 1000, 5000, 10000, 15000, 20000, 25000,.......... Armazene o tempo gasto em cada execução e gere um gráfico para comparar o desempenho do algoritmo com os diferentes tipos de entrada e depois para comparar todos os algoritmos, com os diferentes tipos de entrada. Se o tempo de execução for muito pequeno, você deve rodar os algoritmos mais de uma vez; lembrando que isso deve ser padrão para todas as execuções. Por exemplo, se você executar o algoritmo quick sort 10 vezes seguidas para computar o tempo dessas execuções, o algoritmo bubble sort também deverá ser executado 10 vezes seguidas, bem como todos os outros.

O trabalho pode ser desenvolvido em qualquer linguagem e os gráficos podem ser feitos por qualquer software, isto é, não é necessário que o programa gere os gráficos. A nota principal será baseada no relatório (gráficos e discussões). Além disso, será verificado ser os algoritmos estão corretos, consequentemente, a sua análise. Os algoritmos que deverão ser implementados são: Bubble Sort (versão original sem melhorias) Bubble Sort melhorado (verifica se o vetor já está ordenado) Quick Sort (com pivô sendo o primeiro elemento da lista – partição) Quick Sort (com pivô sendo o elemento central da lista – partição) Insertion Sort (inserção simples ou inserção direta) Shell Sort Selection Sort (Seleção Direta) Heap Sort Merge Sort

ordenacao's People

Contributors

ceconcarlsen avatar daviiro avatar zagopedro avatar

Watchers

James Cloos avatar  avatar

ordenacao's Issues

import

Para usarmos as bibliotecas numpy e matplotlib.pyplot é necessário instalá-las em nossa máquina, será que quando o professor for "rodar" o programa não vai dar erro? seria interessante no inicio do relatório avisá-lo de tais empecilhos e apresentar a solução : pip install matplotlib e pip3 install numpy ?

import numpy as np
import matplotlib.pyplot as plt

Recursão

Tem que ser resolvido o problema que encontramos referente ao limite de recursões suportada por Python, esse problema ocorre nas funções quicksort e quicksort 2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.