Структура данных и алгоритм (DSA)
Проблема, о которой идет речь, должна быть либо простым файлом ( например, kruskal-algorithm.cpp , linear-search.java ), либо более сложным каталогом ( palindrome/ ). Это problem подразделения.
Дерево каталогов имеет следующее соглашение algorithms/{language}/{category}/{problem} , где {language} представляет языковой код проблемы ( например, CPlusPlus для C++, CSharp для C# и т. д.), {category} — это тема или категория проблемы, о которой идет речь ( например, strings , sorting , linked-lists и т. д.), а {problem} — это имя, соответствующее проблеме ( например, linear-search.cpp , palindrome , queue-linked-list.cpp и т. д.)
problem с устройством должна соответствовать следующим характеристикам:
palindrome/ , binary-search.cpp и т. д.).- ).Если у вас возникла проблема, относящаяся к новой теме или категории, отличной от существующей:
README.md ).problem (документация Markdown).- ) (например, sorting strings и т. д.). Файл должен соответствовать спецификации problem , а расширение ( например, linear-search.java , kruskal-algorithm.cpp , count-inversions.js и т. д.)
Вклады на основе проектов и папок имеют немного более строгие требования к вкладам.
Папка должна соответствовать спецификации problem , а также следующим спецификациям.
Структура папок
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 Это может быть любой из следующих
Makefilerequirements.txtpackage.json и package-lock.jsonCargo.toml и Cargo.lockgo.mod Файлы исходного кода должны находиться либо в папке src/ ( например, src/main.cpp или src/main.js ), либо в корневой папке ( например, palindrome.go или App.java ), где ext — это расширение файла для конкретного файла. язык программирования.
Опять же, исходные коды должны соответствовать действующему соглашению о структуре файлов, которое обеспечивает язык программирования.
При программировании следует соблюдать правила соглашения об именах каждого языка программирования.
| Язык программирования | Пользователи |
|---|---|
| С или С++ | @Arsenic-ATG, @UG-SEP, @aayushjain7, @Ashborn-SM, @Ashad001 |
| Ява | @TawfikYasser, @aayushjain7, @mohitchakraverty |
| С# | @мин-цай, @Вакар-107 |
| Идти | @айо-аджайи |
| Питон | @Мышьяк-АТГ, @sridhar-5 |
| JavaScript | @мин-цай |
Массачусетский технологический институт