Datenstruktur und Algorithmus (DSA)
Das bereitgestellte Problem muss entweder eine einfache Datei ( z. B. kruskal-algorithm.cpp
, linear-search.java
) oder ein komplexeres Verzeichnis ( palindrome/
) sein. Dies ist ein problem
.
Der Verzeichnisbaum hat die folgende Konvention von algorithms/{language}/{category}/{problem}
, wobei {language}
den Sprachcode des Problems darstellt ( z. B. CPlusPlus
für C++, CSharp
für C# usw.), {category}
ist das Thema oder die Kategorie des Problems, das beigesteuert wird ( z. B. strings
, sorting
, linked-lists
usw.), und {problem}
ist ein dem Problem entsprechender Name ( z. B. linear-search.cpp
, palindrome
, queue-linked-list.cpp
usw.)
Ein problem
muss den folgenden Spezifikationen entsprechen:
palindrome/
, binary-search.cpp
usw.).-
) getrennt werden.Wenn Sie ein Problem haben, das zu einem neuen Thema oder einer neuen Kategorie als den vorhandenen gehört:
README.md
Datei).problem
darin (Markdown-Dokumentation).-
) enthalten ( sorting
. B. strings
usw.) Die Datei sollte der problem
und der Erweiterung entsprechen ( z. B. linear-search.java
, kruskal-algorithm.cpp
, count-inversions.js
usw.).
Für die projekt- und ordnerbasierten Beiträge gelten etwas strengere Beitragsspezifikationen.
Der Ordner sollte der problem
sowie den folgenden Spezifikationen entsprechen
Ordnerstruktur
problem-name
| - .gitignore
| - README.md
| - Makefile # or the specific specification/requirements/configuration file
| - src
| - main.ext
README.md
Spezifikation/Vorlage # < 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
Datei # 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
Es kann eines der folgenden sein
Makefile
requirements.txt
package.json
und package-lock.json
Cargo.toml
und Cargo.lock
go.mod
Die Quellcodedateien sollten sich entweder im Ordner src/
( z. B. src/main.cpp
oder src/main.js
) oder im Stammordner ( z. B. palindrome.go
oder App.java
) befinden, wobei ext
die Dateierweiterung für die jeweilige Datei ist Programmiersprache.
Auch hier müssen die Quellcodes einer gültigen Dateistrukturkonvention entsprechen, die von der Programmiersprache durchgesetzt wird.
Bei der Programmierung sollten die Namenskonventionsregeln jeder Programmiersprache eingehalten werden.
Programmiersprache | Benutzer |
---|---|
C oder C++ | @Arsenic-ATG, @UG-SEP, @aayushjain7, @Ashborn-SM, @Ashad001 |
Java | @TawfikYasser, @aayushjain7, @mohitchakraverty |
C# | @ming-tsai, @Waqar-107 |
Gehen | @ayo-ajayi |
Python | @Arsenic-ATG, @sridhar-5 |
JavaScript | @ming-tsai |
MIT