Hacker News new | past | comments | ask | show | jobs | submit login
The Archive of Interesting Code (keithschwarz.com)
158 points by objectivefs on May 13, 2013 | hide | past | favorite | 24 comments



Shameless plug : I have a few of these ported to Python as well - https://github.com/prakhar1989/Algorithms


Um, pick me too! Persistent Red-Black Tree http://wiki.edinburghhacklab.com/persistentredblacktreeset


Under what license may I reuse those snippets -- or are they too short to provoke legal issues anyways?


From the page:

"If you're interested in using any of this code in your applications, feel free to do so! You don't need to cite me or this website as a source, though I would appreciate it if you did. However, please don't plagiarize the code here by claiming authorship - that would just be dishonest. I also caution you that while I'm fairly confident that the code on this site is correct, I haven't mercilessly tested every line, and so there may be a lurking bug or two here."


nice collection of things to study in one place. Any other similar..?



Thanks a lot - wonderful collection!


nice! =)



It reminds me a bit of this site:

http://rosettacode.org/wiki/Rosetta_Code



Nice and simple; I like it! Also, you just made every introductory CS teacher cringe, unless they import all of these into their cheating detection system.


Actually Keith Schwarz is an introductory CS teacher :-).


I was so happy to see the in-place merge algorithm!

Does anyone know if there is an implementation of the (supposedly) faster version, which was published in this later paper?

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.134....


Lots of really interesting things here. The most valuable is definitely having some reference implementations.


I am building a Scala one here: https://github.com/pathikrit/scalgos


Bidirectional Map can be implemented in less than 20 lines (put, get, remove).


Fantastic list. A great way to supplement the theory from CLRS, etc.


Some are interesting, but there's lots of mundane and generally boring stuff too, e.g. [1]

[1] http://www.keithschwarz.com/interesting/code/?dir=argmax


Wow, what a sad place has HN become that this kind of comment is getting upvoted. There are tons of interesting stuff in there, very exhaustively commented, and you say "some are interesting, lots are mundane" quoting a single goddamn example. Wouldn't linking the interesting ones be, like, more interesting? What a fucking weak attitude!


Have you looked at the link he provided?

IMHO it doesn't fit at all with the other things. You can implement In-Place Mergesort or one of its variants by studying Wikipedia. Or you can just look up a nice implementation from the OPs site and port it to your favorite language. That said, this argmin/argmax thing does absolutely not fit.


It's just ONE example, and if it's really the most interesting thing HN has to say on this (it was the top comment when I responded) then it's truly a sad state of affairs. Those btw are as much tutorials as they are "nice implementations", there are lots of things pointed out in the comments that you won't easily find on Wikipedia.


To each his own. For some splay trees is a revelation, for others - it's Algorithms 101.


Euclid's Algorithm is certainly Algorithms 101, his discussion of it - far from it:

http://www.keithschwarz.com/interesting/code/?dir=euclid




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

Search: