Bem-vindo ao repositório de Estrutura de Dados e Algoritmos em Java! Este projeto tem um objetivo educacional, proporcionando recursos práticos para aqueles que estão estudando Estruturas de Dados e Algoritmos de Ordenação. Esperamos que essas implementações ajudem no aprendizado e na compreensão dos conceitos fundamentais.
-
Árvore AVL (AVL Tree): Uma árvore balanceada que garante operações eficientes de busca, inserção e remoção em tempo logarítmico.
-
Árvore Binária de Busca (Binary Search Tree): Uma árvore binária que permite rápida busca, inserção e remoção de elementos.
-
Tabela de Hash (Hash Table): Uma estrutura eficiente para mapear chaves a valores, proporcionando acesso rápido.
-
Heap Binário (Binary Heap): Uma implementação eficiente da fila de prioridade com propriedades interessantes.
-
Lista Encadeada (LinkedList): Uma lista flexível que permite fácil inserção e remoção de elementos.
-
Fila (Queue): Uma fila de elementos com operações de enfileirar e desenfileirar.
-
Pilha (Stack): Uma pilha de elementos com operações de empilhar e desempilhar.
-
Bubble Sort: Um algoritmo simples, mas menos eficiente para ordenação.
-
Counting Sort: Ideal para ordenar inteiros em um intervalo específico.
-
Insertion Sort: Eficiente para pequenas quantidades de dados ou em conjuntos quase ordenados.
-
Merge Sort: Um algoritmo de ordenação eficiente baseado na técnica de divisão e conquista.
-
Order Statistic: Encontre a estatística de ordem k em um conjunto de dados.
-
Quick Select: Selecione o k-ésimo menor elemento em tempo linear.
-
Quick Sort: Um algoritmo de ordenação rápido baseado na técnica de pivô.
-
Selection Sort: Simples e intuitivo, adequado para conjuntos de dados pequenos.
Aceitamos e incentivamos contribuições da comunidade! Se você deseja melhorar ou adicionar algo, siga estes passos:
- Fork o repositório.
- Crie uma branch para a sua contribuição (
git checkout -b sua-contribuicao
). - Faça commit das suas mudanças (
git commit -m 'Adiciona minha contribuição'
). - Faça push para a branch (
git push origin sua-contribuicao
). - Abra um Pull Request.
Certifique-se de ter o Maven e o JUnit instalados no seu sistema para compilar, executar o código e os testes.
- Maven: https://maven.apache.org/
- JUnit: https://junit.org/junit5/
Este projeto está licenciado sob a MIT License - veja o arquivo LICENSE para detalhes.
Agradecemos por contribuir para o projeto! Se tiver dúvidas ou sugestões, sinta-se à vontade para abrir uma issue. Happy coding! 🖥️✨