/Data-Structures-Algorithms-Hacktoberfest-2K19

collection of data structures and algorithms in different languages - created by the community during Hacktoberfest 2019

Primary LanguageC++MIT LicenseMIT

Data Structures and Algorithms (Hacktoberfest 2019)

Hacktoberfest 2019

Do you have a knack for programming? Do Data Structures and Algorithms excite you? Well, you have come to the right place. This repository holds a collection of all the famous Data Structures and Algorithms you'd ever find.

As a part of Hacktoberfest 2019, you have a chance to contribute to this repository and get familiar with Open Source culture.

How to contribute

  1. Create an issue about the Data Structure/Algorithms or its application you'd like to implement.
  2. Wait for any of the maintainers to give you the green signal
  3. Code your heart out
  4. Create a pull request
  5. You're done!

Steps for contributing

  1. Decide with Algorithm/Data structure you want to work on that has not already been implemented
  2. Create an issue for it and wait for the maintainers to assign it to you
  3. Fork the repository
  4. Clone the forked repository git clone https://github.com/<username>/Data-Structures-Algorithms-Hacktoberfest-2K19.git
  5. Create a new branch for working git branch branch_name and switch to the branch git checkout branch_name
  6. Code!
  7. Save your changes git add .
  8. Commit your code git commit -m "Single line description of what you did"
  9. Push your code git push origin branch_name
  10. Create a pull request. Mention which Algorithm/Data structure is implemented along with which issue it closes. Example
Implemented Floyd Warshall algorithm in Rust
Closes #2
  1. Wait for it to get merged!

Rules for contributing

  1. Follow the directory structure Data Structures/<data structure>/<language>/<file> and Algorithms/<algorithm>/<language>/<file> Example: Data Structures/Linked List/cpp/linked_list.cpp and Algorithms/Search/rust/binary_search.rs
  2. Format/Indent the code properly
  3. Languages accepted: C, C++, Javascript, Java, Python, Rust, Haskell, Assembly (wish to code in another language? Update the README!)
  4. Language folder and file names should be lowercase.
  5. Documented code is preferred (don't forget the space and time complexity of your code!)
  6. Only 1 Data Structure/Algorithm per issue/pull request
  7. Every PR should mention which issue it closes
  8. PRs without issues/Spam PRs will be marked as invalid as it is against Hacktoberfest code of conduct.