Structure des données et algorithme (DSA)
Le problème contribué doit être soit un fichier simple ( Par exemple, kruskal-algorithm.cpp , linear-search.java ) ou un répertoire plus complexe ( palindrome/ ). C'est un problem d'unité.
L'arborescence des répertoires a la convention suivante algorithms/{language}/{category}/{problem} , où {language} représente le code de langue du problème ( par exemple, CPlusPlus pour C++, CSharp pour C# etc.), {category} est le sujet ou la catégorie du problème en cours de contribution ( par exemple, strings , sorting , linked-lists , etc.), et {problem} est un nom conforme au problème ( par exemple, linear-search.cpp , palindrome , queue-linked-list.cpp etc.)
Un problem d’unité doit être conforme aux spécifications suivantes :
palindrome/ , binary-search.cpp etc.).- ).Si vous rencontrez un problème qui appartient à un nouveau sujet ou à une nouvelle catégorie plutôt que ceux qui sont présents :
README.md ).problem (Documentation Markdown).- ) (par exemple, sorting strings , etc.) Le fichier doit être conforme à la spécification problem et à l'extension ( par exemple, linear-search.java , kruskal-algorithm.cpp , count-inversions.js , etc.)
Les contributions basées sur des projets et des dossiers ont des spécifications de contribution un peu plus strictes.
Le dossier doit être conforme à la spécification problem , ainsi qu'aux spécifications suivantes
Structure des dossiers
problem-name
| - .gitignore
| - README.md
| - Makefile # or the specific specification/requirements/configuration file
| - src
| - main.extREADME.md # < Title of the Problem >
< description of the problem >
## Prerequisites
- prerequisite library or package
- [ prerequisite library ] ( https://www.example.com/link-to-official-library )
## Instructions
- instructions to run the project
- < Simple and reproducible commands to execute the project >
``` bash
make # or 'cargo run', or 'dotnet run' or 'mvn exec:java' etc.
```
## Test Cases & Output < if exists>
< If you can provide test cases, describe it here, else remove this section >.gitignore # add all output files and build files to be excluded from git tracking
main # executable file also must have the project name
target / # the build file, for example for rust Il peut s'agir de l'un des suivants
Makefilerequirements.txtpackage.json et package-lock.jsonCargo.toml et Cargo.lockgo.mod Les fichiers de code source doivent se trouver soit dans le dossier src/ ( par exemple, src/main.cpp ou src/main.js ), soit dans le dossier racine ( par exemple, palindrome.go ou App.java ), où ext est l'extension de fichier du fichier spécifique. langage de programmation.
Encore une fois, les codes sources doivent être conformes à une convention de structure de fichiers valide imposée par le langage de programmation.
La programmation doit conserver la règle de convention de dénomination de chaque langage de programmation.
| Langage de programmation | Utilisateurs |
|---|---|
| C ou C++ | @Arsenic-ATG, @UG-SEP, @aayushjain7, @Ashborn-SM, @Ashad001 |
| Java | @TawfikYasser, @aayushjain7, @mohitchakraverty |
| C# | @ming-tsai, @Waqar-107 |
| Aller | @ayo-ajayi |
| Python | @Arsenic-ATG, @sridhar-5 |
| Javascript | @ming-tsai |
MIT