Ce dépot collaboratif a pour but de rassembler un large éventail d'algorithmes comme des algorithmes de tri, de graphes, d'optimisation, de géométrie, de machine learning, des métaheuristiques...
Les algorithmes peuvent être écrits en plusieurs langages.
Pour contribuer au projet :
- Faites un fork du dépôt sur votre compte (bouton en haut à droite).
- Apportez les modifications que vous souhaitez.
- Une fois vos modifications terminées, faites un pull-request avec un message en français qui explique ce que vous avez modifié.
Les membres de CPUMons se chargeront ensuite d'accepter vos modifications ou d'expliquer ce qui ne va pas.
Remarques :
- Essayez d'utiliser un style de programmation proche du code existant.
- Préférez utiliser les structures de données et algorithmes existants.
Utilisez par exemple la liste d'adjacence existante dans vos algorithmes de graphe.
La structure décrite ci-dessous devra être appliquée le mieux possible pour chaque langage.
...
|
nom_du_langage
|
+--- geometry
|
+--- graph
|
+--- sorting
|
...
Tous types d'algorithmes et de structures de données sont acceptés dans ce dépôt.
Cependant, voici quelques idées :
- Structures de données : liste chaînée, matrice, tas, union-find
- Tri : counting sort, merge sort, quick sort
- Graphes : BFS, toposort, composants fortement connexes, arbres couvrants, flot maximum
- Géométrie : intersection de lignes ou de segments en 2D ou 3D
- Machine learning : régression linéaire, KNN, arbre de décision
- Métaheuristiques : recherche tabou, recuit simulé, colonies de fourmis
- Autres : recherche binaire, permutations, knapsack, KMP
Le site VisuAlgo propose des visualisations et pseudo-codes pour de nombreux algorithmes.
N'hésitez pas à nous contacter pour toute question sur ce projet ou idée d'améliorations !
email: [email protected]
facebook: www.facebook.com/cpumons