codezilla 🦖 One giant collection of algorithms & design patterns.
The pandora box of algorithms and data structures
Feel free to contribute. Create an issue, let others know which algorithm/data structure you are planning to add. Fork the repo. And make a PR!
The goal is to create a codebase for developers to access. Later we aim to develop extensions using this codebase to support multiple IDEs.
Here are 3 quick and painless steps to contribute to this project:
Star this repository to show your support for Asiatik
-
Add a a program to implement an algorithm in any language. To do so, first create an issue with the task you are doing, for example: "Issue - creating bubble sort in C". Create a pull request in response to that issue and finally submit it for review.
-
Name your branch Like
#23 Add Bubble Sort in C
.Also create a directory for any new algorithm if it doesn't exist. eg.
observable_pattern
,bubble_sort
. Inside these directories you can create a folder for the programming language you want to add. And finally add your own file namedprogram_name.language_extension
(bubble_sort.cpp
) Create a commit of the form - fixes #(issue_number)
Make sure you adhere to the algorithm/language/file folder structure while adding code.
Easiest way (Recommended) ⭐️ -You can run bash runme.bh
on your terminal to make the appropriate file structure
Additionally we recommend using standard convention for your language such as indentation and variable naming while writing the algorithm. Useful comments will be a help. Finally, if you can write tests for you code, we urge you to do so.
- Finally, wait for it to be merged!
-
Fork this repository (Click the Fork button in the top right of this page, click your Profile Image)
-
Clone your fork down to your local machine
$ git clone https://github.com/Username/codezilla.git
For e.g:-
$ git clone https://github.com/Anujg935/codezilla.git
in the above example Anujg935 is the username of the user who is forking the repository.
-
Create a branch
$ git checkout -b branch-name
-
Make your changes
-
Commit and Push
$ git add filename $ git commit -m 'commit message' $ git push origin branch-name
-
Create a New Pull Request from your forked repository (Click the New Pull Request button located at the top of your repo)
-
Wait for your PR review and merge approval!
Star this repository to show your support for Asiatik
Don't forget to include the comments as seen above. Feel free to include additional information about the language you chose in your comments too! Like a link to a helpful introduction or tutorial.