Skip to content

EDAII/LeetCode_AlgoritmosOrdenacao

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

Busca - Algoritmos de Ordenação

Repositório para resolução de questões relacionadas à algoritmos de ordenação.

Aluno

Matrícula Nome
19/0010495 Arthur Alves de Matos

Descrição do projeto

O objetivo do projeto é implementar e testar diferentes algoritmos de ordenação aplicados à questão 148. Sort List do LeetCode. O propósito é verificar se cada implementação é capaz de passar nos casos de teste da plataforma e apresentar tempos de execução razoáveis, analisando o desempenho de soluções.

Guia de instalação

Linguagem: C

Dependências do projeto

Para a utilização do projeto, deve-se ter acesso ao compilador de linguagem C gcc.

Como executar o projeto

Uso

Cada questão foi separada em uma pasta diferente e para executar os códigos de cada uma das questões é necessário a execução dos 3 seguintes comandos adaptados ao nome do arquivo de cada questão. Ex:

    cd Questoes/{nome-da-pasta}/
    gcc -o resposta resposta.c
    ./resposta < resposta.txt

O arquivo txt de solução, contem uma lista de elementos inteiros separados por espaços, o arquivo pode ser editado livremente para testes, desde que matida a estrutura.

Execuções do repositório

Nesse projeto, foi explorada a questão do leetcode de nível médio 148. Sort List. A proposta é solucionar a questão com multiplos métodos de ordenação.

Conclusões

A questão abordada no projeto foi:

Sendo utilizados como métodos de ordenação:

  • Merge Sort Iterativo
  • Merge Sort Recursivo
  • Quick Sort
  • Counting Sort
  • Shell Sort
  • Selection Sort
  • Insertion Sort

A proposta de utilizar múltiplos algoritmos de ordenação foi verificar se suas implementações seriam capazes de passar nos testes do LeetCode e se apresentariam tempos de execução razoáveis.

Durante os testes, alguns algoritmos se comportaram conforme o esperado — confirmando previsões de aprovação ou reprovação, enquanto outros acabaram surpreendendo ou frustrando as expectativas.

RESULTADOS

Dentro do esperado

  • Merge Sort (Iterativo): Aprovado, com bom tempo de execução
  • Merge Sort (Recursivo): Aprovado, com excelente tempo de execução
  • Selection Sort: Time Limit Exceeded (TLE) — 26/30 casos passados
  • Insertion Sort: Time Limit Exceeded (TLE) — 29/30 casos passados

Abaixo do esperado

  • Quick Sort: Time Limit Exceeded (TLE) — 28/30 casos passados

Acima do esperado

  • Counting Sort: Aprovado, com o melhor tempo de execução entre os testes
  • Shell Sort: Aprovado, com bom tempo de execução

Apresentações de resoluções

Apresentação em vídeo de aplicação dos testes.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages