Hacker News new | past | comments | ask | show | jobs | submit login
Cosmos – The universe of algorithm and data structures (github.com/opengenus)
88 points by maxpert on May 7, 2018 | hide | past | favorite | 9 comments



I don't want to sound like an old grump but I fail to see the value in this. It seems that everyone and their mother nowadays starts to write some code to prepare for coding interviews and it starts growing into an 'algorithm library' which ends up being a dump of implementations with little to no value to someone trying to learn something. Despite the large number of contributors, this is exactly what it smells like.

Can we just contribute to Wikipedia and Rosetta Code? Seriously, whenever I want to research something in this domain, Wikipedia + Rosetta Code proved extremely valuable. This is just an implementation in multiple languages, with no README, no context, no why's, no discussion, no sources, no complexity analysis, nothing.

What is the advantage of this? Offline? Can we just work on making years and years of experience of better content available offline? Is there a licensing issue that I'm not seeing?


Also, I find patterns and idioms to be more helpful for me on day to day basis than most of these algorithms:

https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms

https://en.wikibooks.org/wiki/C%2B%2B_Programming/Code/Desig...

I started reading them as a interview refresher but now I just read them because they are actually useful.


Wikipedia is magnificent for actually learning the algorithms, but I think collections like these fill a gap in that they show implementations in actual programming languages that just work without trying to write code from pseudo code. If you’re familiar with any of these languages and understand the theory backing the algorithm you can instantly see how these algorithms can be done in that target language.

I feel this is especially useful for me with the computational geometry part. I took a completely theoretical computational geometry class this last semester. We learned and made algorithms in pure pseudo code, and some operations we were never even given pseudo code for, because they were ‘trivial’, for example the algorithm for line intersections (my teacher at least told me it took some linear algebra, but I never took linear algebra.) Having just the code can be helpful for someone that already has most the theoretical backing, but needs the practical code to go along with it. I think this kind of practical code along with getting theory from a more theoretical book or Wikipedia entry is a powerful way you could learn the algorithms.


Have you looked at Rosetta code before? I think OP has a pretty good point bringing it up..

http://rosettacode.org/


I've come across it before, but haven't really used it. It looks like the examples are pretty good. I however dislike how it is organized as it organizes by first letter of a title (that seemingly has no pattern for first words making finding a particular entry harder) and doesn't have different categories or tags to categorize the different types of tasks. Organizing by type of task would have been a nice feature for browsing the code I much rather enjoy the layout of the linked github as it's much easier to study a particular topic.



This is awesome, and I hope I can find some time to contribute. Lots of low hanging fruit because I didn’t see any Swift stuff for some things I know.

If you want a Swift version of this (to which I have gotten to contribute!), see https://github.com/raywenderlich/swift-algorithm-club/


This is the best thing I have found so far on GitHub.

I will find some time to contribute to it for sure and become a member of this movement. Yay!

The organization behind it OpenGenus Foundation seems to be epic. It looks like they started some time back but they are huge.

They, even, have a discussion forum: https://discourse.opengenus.org/ and several other interesting projects. Cool.


This is epic. I wish to be a part of the OpenGenus Community.

I see this is, also, supported by GitHub, DigitalOcean and Discourse.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: