Algorithms that run our universe | Your personal library of every algorithm and data structure code that you will ever encounter
C++ Java Python C JavaScript Swift Other
Switch branches/tags
Nothing to show

README.md

Cosmos

The universe of algorithm and data structures

Cosmos is your personal offline collection of every algorithm and data structure one will ever encounter and use in a lifetime. This provides solutions in various languages spanning C, C++, Java, JavaScript, Swift, Python, Go and others.

This work is maintained by a community of hundreds of people and is a massive collaborative effort to bring the readily available coding knowledge offline.

Many coders ask me how to improve their own performances. I cannot say anything except "solve and review and prepare your library" - Uwi Tenpen

Cosmic Structure

Following is the high-level structure of cosmos:

  • Artificial intelligence πŸ€–
  • Backtracking
  • Bit manipulation
  • Cellular automaton 🐚
  • Compression algorithms
  • Computational geometry βš™οΈ
  • Cryptography
  • Data structures
  • Design pattern
  • Divide conquering
  • Dynamic programming
  • Graph algorithms
  • Greedy algorithms
  • Mathematical algorithms πŸ”’
  • Network 🌐
  • Numerical analysis πŸ“ˆ
  • Online challenges
  • Operating system πŸ’»
  • Randomized algorithms 🎰
  • Searching
  • Selecting
  • Sorting
  • Square root decomposition
  • String algorithms
  • Unclassified πŸ‘»

Each type has several hundreds of problems with solutions in several languages spanning C, C++, Java, Python, Go and others.

Maintainers

This is a massive collaboration and to keep the quality intact and drive the vision in the proper direction, we have maintainers.

Maintainers are your friends forever. They are vastly different from moderators.

Currently, we have 5 active maintainers and we are expanding quickly.

The task of maintainers is to review pull requests, suggest further quality additions and keep the work up to date with the current state of the world. 🌍

Check out our current maintainers

Let us know if you would like to be a maintainer in the Slack channel #algorithms and we will review and add you upon subsequent contributions. To join our massive community at Slack open an issue here.

Contributors

The success of our vision to bring knowledge offline depends on you. Even a small contribution helps. All forms of contributions are highly welcomed and valued.

Currently, we have over 700 contributors

When you contribute, your name with a link (if available) is added to our contributors list.

You can contribute by writing code, documentation is form of installation guides and style guides, making Cosmos search friendly and many others. There are endless possibilities.

Additionally, you might want to take a look at this contributing guidelines before you make Cosmos better.

You may, also, refer to the available style guides before contributing code.

License

We believe in freedom and improvement. GNU General Public License v3.0