DSA
1.0.0
数据结构与算法(DSA)
所贡献的问题必须是一个简单的文件(例如kruskal-algorithm.cpp 、 linear-search.java )或更复杂的目录( palindrome/ )。这是单位problem 。
目录树具有以下algorithms/{language}/{category}/{problem} ,其中{language}表示问题的语言代码(例如, C++的CPlusPlus ,C#的CSharp等), {category}是所贡献问题的主题或类别(例如strings 、 sorting 、 linked-lists等),而{problem}是问题的一致名称(例如linear-search.cpp , palindrome 、 queue-linked-list.cpp等)
单元problem必须符合以下规范:
palindrome/ binary-search.cpp )。- ) 分隔。如果您遇到的问题属于新主题或类别而不是现有问题:
README.md文件)。problem自述文件(Markdown 文档)。- )(例如strings sorting等) 该文件应符合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是特定的文件扩展名编程语言。
同样,源代码必须符合编程语言强制执行的有效文件结构约定。
编程时应遵循每种编程语言的命名约定规则。
| 编程语言 | 用户 |
|---|---|
| C 或 C++ | @砷-ATG,@UG-SEP,@aayushjain7,@Ashborn-SM,@Ashad001 |
| 爪哇 | @TawfikYasser、@aayushjain7、@mohitchakraverty |
| C# | @ming-tsai,@Waqar-107 |
| 去 | @ayo-ajayi |
| Python | @砷-ATG,@sridhar-5 |
| JavaScript | @明仔 |
麻省理工学院