Sobre o projeto
O Algorithms - Go é um repositório educacional de código aberto que implementa uma ampla variedade de algoritmos e estruturas de dados na linguagem de programação Go. Ele faz parte do projeto maior The Algorithms e é licenciado sob a Licença MIT.
O repositório organiza implementações em pacotes em vários domínios:
- **Strings**: Correspondência de padrões Aho-Corasick, combinações, geração genética de strings e geração de parênteses.
- **Matemática**: Números de Armstrong, operações binárias (contagem de bits, raiz quadrada inversa rápida, código Gray), números catalães, fatorial, Fibonacci, MDC e cálculos de geometria.
- **Cifras**: Cifra de César e troca de chaves Diffie-Hellman.
- **Programação dinâmica**: Troca de moedas, distância de edição, problema da mochila, maior subsequência comum, maior subsequência crescente, multiplicação de cadeia de matrizes e mais.
- **Estruturas de dados**: Caches LRU e LFU, fila duplamente terminada (deque) e array dinâmico.
- **Compressão**: Codificação Huffman para codificar e decodificar.
- **Conversão**: Base64, binário-decimal, numerais romanos e conversões de cores RGB/hex.
- **Checksums**: CRC8 e algoritmo de Luhn.
- **Coloração de grafos**: Verificação de grafos bipartidos e algoritmos de coloração de grafos.
O projeto é voltado para iniciantes e segue as melhores práticas. Inclui testes para muitas implementações, integração contínua via GitHub Actions e relatórios de cobertura de código através do Codecov. Diretrizes de contribuição são fornecidas para aqueles que desejam adicionar novos algoritmos ou melhorar os existentes. O repositório também mantém uma comunidade no Discord para discussão e suporte.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.