

The Archive of Interesting Code - objectivefs
http://www.keithschwarz.com/interesting/

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

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

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

~~~
dsuth
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."

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

~~~
gtani
<http://teachingtree.co/cs>

<http://www.geeksforgeeks.org/>

<http://aggregate.org/MAGIC/>

<http://www.algorithmatic.com/browse?q=sort:latest>

~~~
Aurel1us
Thanks a lot - wonderful collection!

------
hoka
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.

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

------
wfunction
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....](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.134.2842)

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

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

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

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

------
abcd_f
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>

~~~
stiff
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!

~~~
blablabla123
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.

~~~
stiff
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.

