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.ext
README.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
Makefile
requirements.txt
package.json
et package-lock.json
Cargo.toml
et Cargo.lock
go.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