Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
70 lines (51 sloc) 3.27 KB


Simple Steps to Get Started:

  • If you are new to Github / Git, no need to get intimidated.
  • You can simply contribute by using the Github website UI (User Interface).
  1. Fork this repository. This will create your own copy of this repo.
  2. Make whatever changes you want (Acc. to the simple rules mentioned below, obviously)
  3. Then, make a pull request.
  4. Your pull request will be merged after review! Simple! Done !
  5. Now, repeat !

In case you're interested, here's a quick guide to Git. Link

File and Folder Naming Guidelines:

  • File name should be in full lowercase.
  • Names for referencing all 5 languages should be as follows: python, c, cpp, java, js.
  • Please use cpp for C++ file naming.
  • For Data Structures, file names should be of the format:
<Language>-<Data Structure>-<Version Number>

For eg:

  • For Algorithms, file names should be of the format:
<Language>-<Data Structure>-<Time Complexity>-<Version Number>

For eg: python-factorial-O(n).py

  • Version Number is used when there is already an implementation of an algorithm/data structure and you want to submit a better implementation.
  • Use separate folders for each concept under the Algorithm/ Data Structure directory. Folder name should be in full lowercase. If the algorithm/DS name has multiple words, separate them by underscores.
    For eg: linked_list folder in Data_Structures folder

Writing code:

  • Before you push your changes to GitHub, make sure that your code compiles and runs without any errors or warnings.
  • Currently we are accepting contributions in C, C++, Java, Python and JavaScript.
  • Use meaningful variable, method and function names and comments.
  • No profanity.
  • If you feel you can improve upon an implementation( with regard to coding practices, complexity), then you can submit your code keeping in mind the File & Folder Naming Guidelines.

    Please NOTE: In case, same implementation of an algorithm is submitted by someone else and it gets accepted, then your contribution won't be merged ( to avoid duplicates ).

Various Ways to Contribute:

  • implementing new algorithms in the repo, under the right section. Make a new section for it if it doesn't fall under any section. Make sure that your implementation works.
  • optimizing or improving the existing algorithms.
  • adding a different solution for the problem.
  • finding and fixing bugs.

    Also NOTE: In case an issue already exists regarding your pull request make sure to # (hashtag) the issue number (eg: #1)


You can’t perform that action at this time.