之前在Github上面发现了The Algorithms在Github上面看到一个印度人维护的关于算法的项目The Algorithms,里面有各种主流语言的实现。具体可以参见我之前的一篇博客The Algorithms
今天无意中在Github上面又看到一个有关算法和数据结构的仓库cosmos,正如项目README.md
文件中所描述的一样:
Cosmos是您一生中将遇到和使用的所有算法和数据结构的个人离线收集。 这提供了多种语言的解决方案,包括C,C ++,Java,JavaScript,Swift,Python,Go等。
这项工作是由数百人组成的社区进行的,并且是一项庞大的协作工作,以使易于获得的编码知识脱机。
Join our discussion now 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
Following is the high-level structure of cosmos:
Each type has several hundreds of problems with solutions in several languages spanning C
, C++
, Java
, Python
, Go
and others.
This is a massive collaboration. Hence, 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.
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 in the 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.
We believe in freedom and improvement. GNU General Public License v3.0