Giter Site home page Giter Site logo

sgtlaugh / algovault Goto Github PK

View Code? Open in Web Editor NEW
86.0 4.0 18.0 686 KB

Algorithms and templates for competitive programming

License: MIT License

Python 9.43% C++ 84.77% C 5.80%
competitive-programming data-structures codeforces codejam hackerrank hackercup algorithms python cpp spoj

algovault's Introduction

GitHub stars license

Algovault

A collection of algorithms, data structures and templates for competitive programming

  • Useful in online competitions like CodeForces, Google Code Jam
  • Simple to use as a black-box without compromising performance
  • Example usage and sufficient documentation

  • Codes are mostly written in C++. majority should work with C++11 and some might require C++14 or higher. Some algorithms are written in Python. For Python, use Python 3. Most of them should be compatible with PyPy as well.

    Implementations are usually stress-tested and cross-checked against various problems. Nonetheless, they are not guranteed to be flawless and work in all cases.

    For bugs, refactoring and improvements, feel free to file an issue or a pull request as contributions are always welcome.

    The Zen Of Contributing

    Inspired from The Zen Of Python

    Beautiful is better than ugly
    
    Simple is way better than complex
    
    Consistency matters
    
    Flat is preferred over nested
    
    Typing is better than incomprehensible macros
    
    Because readability counts
    
    But not as much as speed
    
    Some documentation is better than no documentation
    
    No documentation is better than extensive documentation
    
    But not as important as ease of reusing as a black box
    
    Four spaces are better than tabs
    
    Tabs are better than no spaces
    
    If the implementation is hard to explain, it's a bad idea
    
    If the implementation is easy to explain, it may be a good idea
    
    Namespaces are one honking great idea, let's do more of those!

    Future Work

    1. This is still a work in progress so I'll port more code from my template over the time
    2. Add stress tests, automated unit tests and integration tests
    3. Refactor and simplify old implementations
    4. Add practice problems
    5. Add a comprehensive index

    License

    The project is licensed under the MIT License

    algovault's People

    Contributors

    oneshadab avatar sgtlaugh 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

    Watchers

     avatar  avatar  avatar  avatar

    algovault's Issues

    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.