Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pesquisa e Ordenação

Projeto desenvolvido para a disciplina de Pesquisa e Ordenação — quinta disciplina de Algoritmos do curso de Sistemas de Informação.

O objetivo é implementar os principais algoritmos de ordenação em duas estruturas distintas: Lista Encadeada e Arquivo Binário, coletando métricas de desempenho (comparações, movimentações e tempo de execução) para cada cenário.


Estrutura do Projeto

├── PDF/                         # Enunciados e documentos da disciplina
└── src/main/java/org/example/
    ├── arquivo/                 # Implementações sobre Arquivo Binário + Main do projeto
    ├── lista/
    │   ├── duplamenteEncadeada/
    │   ├── simplesmenteEncadeada/
    │   └── estruturas/
    │       ├── fila/
    │       └── pilha/
    └── ordenacaoLista/          # Algoritmos de ordenação sobre Lista Encadeada
        ├── bolha/
        ├── bucket/
        ├── comb/
        ├── counting/
        ├── gnome/
        ├── heap/
        ├── insercao/
        │   ├── binaria/
        │   └── direta/
        ├── merge/
        ├── quick/
        ├── radix/
        ├── selecaoDireta/
        ├── shell/
        └── tim/

Algoritmos Implementados

Estudados em sala de aula

Algoritmo Lista Encadeada Arquivo Binário
Inserção Direta
Inserção Binária
Seleção Direta
Bolha (Bubble Sort)
Shake Sort
Shell Sort
Heap Sort
Quick Sort (s/ pivô)
Quick Sort (c/ pivô)
Merge Sort (1ª impl)
Merge Sort (2ª impl)

Pesquisados na literatura

Algoritmo Lista Encadeada Arquivo Binário
Counting Sort
Bucket Sort
Radix Sort
Comb Sort
Gnome Sort
Tim Sort

Métricas Coletadas

Cada algoritmo registra as seguintes métricas durante a ordenação:

  • Comparações progressivas (Comp. Prog.) — comparações que avançam o processo
  • Comparações de igualdade (Comp. Equa.) — comparações entre elementos iguais
  • Movimentações progressivas (Mov. Prog.) — trocas que alteram a ordem
  • Movimentações de igualdade (Mov. Equa.) — movimentações sem alteração de posição relativa
  • Tempo de execução — medido em milissegundos

Cenários de teste

Os arquivos binários são testados em três situações:

Cenário Descrição
Arquivo Ordenado Dados já em ordem crescente
Ordem Reversa Dados em ordem decrescente
Arquivo Randômico Dados em ordem aleatória

Os arquivos devem conter no mínimo 1024 registros.


Tecnologias

  • Linguagem: Java
  • Build: Maven
  • IDE recomendada: IntelliJ IDEA / Eclipse

About

Algoritmos de ordenação em Java

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages