Giter VIP home page Giter VIP logo

asiatik / codezilla Goto Github PK

View Code? Open in Web Editor NEW
142.0 142.0 181.0 209 KB

⚡️ codezilla ⚡️ One giant 🦖 collection of algorithms & design patterns.

License: MIT License

Java 36.41% JavaScript 2.61% C# 1.59% C++ 46.38% C 1.84% Python 6.75% Makefile 0.68% Scala 0.22% Kotlin 0.72% Shell 1.93% Go 0.25% Racket 0.20% PHP 0.42%
algorithm c c-plus-plus data-structures functional-programming hacktoberfest hacktoberfest2018 java javascript programming python python3

codezilla's Introduction

codezilla

License: MIT Gitter

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.

How To Contribute to This Project

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 named program_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!

Getting Started

  • 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.

Reference Links

Additional References Added By Contributors

codezilla's People

Contributors

21rachitshukla avatar aananya27 avatar aayushsinha44 avatar abhinav-adtechs avatar abhishekguragol avatar adikul30 avatar akshita1997 avatar amrdeveloper avatar aniruddhadave avatar ayushmishra6198 avatar bpahuja avatar daniloeler avatar find3rskeeper avatar gnikdroy avatar hamza39460 avatar heykishan avatar imkeshriraj avatar ionesiojunior avatar mounikaponugoti avatar ms10398 avatar mysjkin avatar mysticadi avatar rhythmize avatar sammanianu avatar sarkararpan710 avatar shubhangishruti avatar sidcodestacks avatar struong9 avatar tstreamdoth avatar vedantv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

codezilla's Issues

Add algorithms for mathematical operations

As the title suggests, I propose to add a new folder named Mathematical_Algorithms(??). Is the '_' required? We should replace it with spaces instead. Also is appending Algorithms to the folder required?
We could name it simply 'Math' for readability. It can hold algorithms for finding/verifying primes, gcd, totient functions, zeta functions, partitions, multiplying matrices, finding eigenvalues/eigenvectors etc.

Can we add tests for the Algorithms?

It would be nice if we could add unit tests in algorithms such as merge sort. This would make it easier to verify the algorithm in the long run.

Add bubble sort algorithm

Note - If you are implementing the algorithm in java then create it under the directory /java. Ther is no restriction for the language

Change folder structure

Change the existing folder structure to [algorithm]/[language]/[algorithm_implementation] in all folders to maintain consistency. Also, remove all the "_" and "Algorithm" postfixes. Additionally, add instructions in README for folder structure.

Include README in each algorithm folder

Since this is a huge collection of algorithms, It would be better to include a README in each algorithm folder that includes how the algorithm works. We can also add the time/space complexity if possible and some basic usages of the code. This will prevent the code from becoming a huge mess and will auto document it as well.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.