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.extREADME.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
Makefilerequirements.txtpackage.json und package-lock.jsonCargo.toml und Cargo.lockgo.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