Sobre el proyecto
The Algorithms - Go es un repositorio educativo de código abierto que implementa una amplia variedad de algoritmos y estructuras de datos en el lenguaje de programación Go. Forma parte del proyecto más amplio The Algorithms y está licenciado bajo la Licencia MIT.
El repositorio organiza las implementaciones en paquetes de varios dominios:
- **Cadenas**: coincidencia de patrones Aho-Corasick, combinaciones, generación genética de cadenas y generación de paréntesis.
- **Matemáticas**: números de Armstrong, operaciones binarias (conteo de bits, raíz cuadrada inversa rápida, código Gray), números de Catalan, factorial, Fibonacci, MCD y cálculos geométricos.
- **Cifrados**: cifrado César e intercambio de claves Diffie-Hellman.
- **Programación dinámica**: cambio de monedas, distancia de edición, problema de la mochila, subsecuencia común más larga, subsecuencia creciente más larga, multiplicación encadenada de matrices y más.
- **Estructuras de datos**: cachés LRU y LFU, cola de doble extremo (deque) y arreglo dinámico.
- **Compresión**: codificación de Huffman para codificar y decodificar.
- **Conversión**: Base64, binario-decimal, números romanos y conversiones de color RGB/hexadecimal.
- **Sumas de verificación**: CRC8 y algoritmo de Luhn.
- **Coloreado de grafos**: verificación de grafos bipartitos y algoritmos de coloreado de grafos.
El proyecto está dirigido a principiantes y sigue las mejores prácticas. Incluye pruebas para muchas implementaciones, integración continua mediante GitHub Actions e informes de cobertura de código a través de Codecov. Se proporcionan pautas de contribución para quienes deseen agregar nuevos algoritmos o mejorar los existentes. El repositorio también mantiene una comunidad de Discord para discusión y soporte.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.