À propos du projet
The Algorithms - Go est un dépôt éducatif open source qui implémente une grande variété d'algorithmes et de structures de données dans le langage de programmation Go. Il fait partie du projet plus vaste The Algorithms et est distribué sous licence MIT.
Le dépôt organise les implémentations en paquets couvrant plusieurs domaines :
- **Chaînes** : correspondance de motifs Aho-Corasick, combinaisons, génération génétique de chaînes et génération de parenthèses.
- **Mathématiques** : nombres d'Armstrong, opérations binaires (comptage de bits, racine carrée inverse rapide, code de Gray), nombres de Catalan, factorielle, Fibonacci, PGCD et calculs géométriques.
- **Chiffrements** : chiffre de César et échange de clés Diffie-Hellman.
- **Programmation dynamique** : rendu de monnaie, distance d'édition, problème du sac à dos, plus longue sous-séquence commune, plus longue sous-séquence croissante, multiplication de chaînes de matrices, et plus encore.
- **Structures de données** : caches LRU et LFU, file à double extrémité (deque) et tableau dynamique.
- **Compression** : codage de Huffman pour l'encodage et le décodage.
- **Conversion** : Base64, binaire-décimal, chiffres romains et conversions de couleurs RGB/hexadécimales.
- **Sommes de contrôle** : CRC8 et algorithme de Luhn.
- **Coloration de graphes** : vérification de bipartition et algorithmes de coloration de graphes.
Le projet s'adresse aux débutants et suit les meilleures pratiques. Il inclut des tests pour de nombreuses implémentations, une intégration continue via GitHub Actions et un rapport de couverture de code via Codecov. Des directives de contribution sont fournies pour ceux qui souhaitent ajouter de nouveaux algorithmes ou améliorer ceux qui existent déjà. Le dépôt maintient également une communauté Discord pour les discussions et le support.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.