Realizado

Atividade - Complexidade de Algoritmos - Em qualquer linguagem

Publicado em 14 de Maio de 2022 dias na TI e Programação

Sobre este projeto

Aberto

Objetivo = Criar um programa que possua 3 (três) algoritmos de ordenação para comparação do desempenho (tempo de execução e memória) entre estes.
Linguagem de Programação = qualquer uma, mas de preferência não utilizar web.
---------------------------------------
Parte 01 – Desempenho
Requisitos para escolha dos 3 algoritmos de ordenação:
1)    Algoritmos que usem técnica de comparação;
2)    Complexidades diferentes (melhor, pior e/ou caso médio);
3)    Consumo de memória extra diferente;
4)    Pelo menos uma das variáveis, tem que ter ordens significativamente diferentes.
Obs: Pode utilizar códigos de “terceiros”
Obs²: Escolher os 3 algoritmos a partir do link abaixo:
https :://en wikipedia org/wiki/Sorting_algorithm
5)    Entrada via arquivo .txt com o seguinte formato:
Linha 1 = n (onde n é quantidade de números para ordenar no vetor)
Linha 2 = NomeDoAlgoritmo (ex: quicksort ou bubble sort ou block sort)
6)    Onde para cada n e algoritmo deve-se criar-se vetores e:
a - Montar o melhor caso e executar uma vez;
b – Montar o pior caso e executar uma vez;
c – Montar 5 casos randômicos e executar uma vez cada, onde o tempo de execução e memória deverá ser a média dos 5;
7)    Deve-se Medir:
A – Tempo de execução, por entrada (n) e operações de E/S em segundos;
    N = {100, 1.000, 10.000, 100.000, 1.000.000, 10.000.000...}
B – Consumo de memória = média do uso durante a execução em MB....Do trecho do código do algoritmo escolhido (ex. No inicio do código quisort)
8)    Imprimir na tela o resultado no formato abaixo:
- “Data HH:mm:ss”,NomeDoAlgoritmo,n,caso,tempo,memória
Ex: linha 1: “2020-06-23 17:50:03 ”,quicksort,1000,melhor,112134,1024
      linha 2: “2020-06-23 17:55:23 ”,quicksort,1000,pior,112134,1024
      linha 3: “2020-06-23 17:59:53 ”,quicksort,1000,média,119999,2048
9)    Gerar arquivo de saída no formato CSV dos resultados da impressão anterior.

Parte 02 – Complexidade:
Descrever no código a complexidade do algoritmo, onde:
1 – Calcular a complexidade linha-a-linha a partir do código de cada um dos algoritmos escolhidos;
2 – Montar a expressão e resolva o passo-a-passo justificando até chegar a complexidade final.
Para maiores detalhes, consultar o anexo.

Categoria TI e Programação
Subcategoria Programação
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Funções necessárias Desenvolvedor

Prazo de Entrega: 04 de Junho de 2022

Habilidades necessárias

Outro projetos publicados por A. C. C. D. S. C.