Struktur Data dan Algoritma (DSA)
Masalah yang dikontribusikan harus berupa file sederhana ( Misalnya kruskal-algorithm.cpp
, linear-search.java
) atau direktori yang lebih kompleks ( palindrome/
). Ini adalah problem
satuan.
Pohon direktori memiliki konvensi algorithms/{language}/{category}/{problem}
berikut, di mana {language}
mewakili kode bahasa masalah ( Misalnya CPlusPlus
untuk C++, CSharp
untuk C# dll.), {category}
adalah topik atau kategori masalah yang dikontribusikan ( Misalnya strings
, sorting
, linked-lists
dll.), dan {problem}
adalah nama yang sesuai dengan masalah tersebut ( Misalnya linear-search.cpp
, palindrome
, queue-linked-list.cpp
dll.)
problem
unit harus memenuhi spesifikasi berikut:
palindrome/
, binary-search.cpp
dll.).-
).Jika Anda mempunyai masalah yang termasuk dalam topik atau kategori baru selain masalah yang ada:
README.md
).problem
Anda di dalamnya (Dokumentasi Penurunan Harga).-
) (Misalnya, sorting
strings
, dll.) File harus sesuai dengan spesifikasi problem
, dan ekstensi ( Misalnya linear-search.java
, kruskal-algorithm.cpp
, count-inversions.js
dll.)
Kontribusi berbasis proyek dan folder memiliki spesifikasi kontribusi yang sedikit lebih ketat.
Folder tersebut harus sesuai dengan spesifikasi problem
, bersama dengan spesifikasi berikut
Struktur Folder
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
Ini bisa berupa salah satu dari yang berikut ini
Makefile
requirements.txt
package.json
dan package-lock.json
Cargo.toml
dan Cargo.lock
go.mod
File kode sumber harus berada di folder src/
( Misalnya src/main.cpp
atau src/main.js
) atau folder root ( Misalnya palindrome.go
atau App.java
) di mana ext
adalah ekstensi file untuk spesifik bahasa pemrograman.
Sekali lagi, kode sumber harus sesuai dengan konvensi struktur file yang valid yang diterapkan oleh bahasa pemrograman.
Pemrograman harus menjaga aturan konvensi penamaan setiap bahasa pemrograman.
Bahasa Pemrograman | Pengguna |
---|---|
C atau C++ | @Arsenik-ATG, @UG-SEP, @aayushjain7, @Ashborn-SM, @Ashad001 |
Jawa | @TawfikYasser, @aayushjain7, @mohitchakraverty |
C# | @ming-tsai, @Waqar-107 |
Pergi | @ayo-ajayi |
ular piton | @Arsenik-ATG, @sridhar-5 |
JavaScript | @ming-tsai |
MIT