
What are the lesser known but cool data structures? - llambda
http://stackoverflow.com/questions/500607/what-are-the-lesser-known-but-cool-data-structures?
======
breckinloggins
I like the part where the most informative, educational, and interesting
discussions on StackOverflow are inevitably closed as "Not Constructive".

~~~
cruise02
Stack Overflow isn't a discussion board. It's a Q&A site. It's not intended
for neverending lists that don't have a correct answer.

~~~
nyellin
Is that so? Are the "benefits of initiating followers into the Blades of
Skyrim?" more helpful or factually verifiable than a list of lesser known data
structures?

[http://gaming.stackexchange.com/questions/41411/whats-the-
be...](http://gaming.stackexchange.com/questions/41411/whats-the-benefit-of-
initiating-followers-into-the-blades)

~~~
cruise02
That has 2 answers. The datastructures question got closed after 89 (some of
them duplicates). Plus they're on two different sites. I don't get the point
of your reference.

~~~
nyellin
My point was that I'd appreciate, at the very least, a StackExchange site for
this type of question.

~~~
cruise02
You can suggest one on Area 51 (<http://area51.stackexchange.com/>) but I
doubt it will get much traction. The Stack Exchange engine is much better for
objective questions that have a correct answer than subjective questions that
have a lot of different answers. Hacker News and reddit are much better for
discussion topics.

~~~
im3w1l
I would argue that Hacker News and Reddit 'engines' are only good for
transient content: interesting today, forgotten tomorrow.

The 'culture' on the other hands, on Hacker News and Reddit are more suited.

Taking culture into account, I think good homes for information are.

Transient, subjective: forum Transient, objective: heavily moderated forum.
Not perfect fit though. Permanent, subjective: ??? There are some sites for
this, but, I think they work pretty suboptimally. How do you keep the idiots
out? Permanent, objective: A 'pedia.

~~~
cruise02
Good point about the transient nature of HN and reddit. They're really not
suited to be a permanent home for the kinds of lists that people want to
create on Stack Overflow. All three sites have the kind of community focus
that can be used to create the lists, but they really need to be moved to
Wikipedia for proper care and feeding once created.

------
_delirium
There were some interesting additional examples (and commentary) in the HN
discussion when this was last linked (18 mos ago):
<http://news.ycombinator.com/item?id=1370847>

~~~
diminish
Hey a good startup idea. A Vote based web site for subjects covered in `non
constructive Stackoverflow entries`..

------
tptacek
A favorite answer to this (recurring) question: aguri trees. I've written
about them before:

<http://hackerne.ws/item?id=101969> (the blog post is dead, but you can find
some of it at bit.ly/tN2ESX)

For data sets with binary keys in which prefixes are meaningful (most notably:
IP addresses, but also memory addresses and probably many integer keys that
have natural range semantics), Aguri is a radix trie implementation that
exploits tree structure to infer ranges in the data.

~~~
spearo77
Far more courteous disagreement back in the day ;)

------
nyellin
I wish they wouldn't close questions like this.

~~~
jroseattle
SO is quickly approaching reference territory. It is my go-to authority on
most programmatic questions.

And not all content takes the form of a how-do-i-solve-this-problem format.
Would be good to see them re-purpose that good information (like this
particular entry) into a useful format.

~~~
chrisaycock
> Would be good to see them re-purpose that good information (like this
> particular entry) into a useful format.

Like _cough_ Wikipedia? Most of the entries on that page are links to a
Wikipedia article with a one-paragraph summary. Seems like anything missing
from the canonical list should just be added:

<http://en.wikipedia.org/wiki/List_of_data_structures>

~~~
metellus
Wikipedia is a good place for information about different data structures, but
the question here is "What are the lesser known _but cool_ data structures.
There are tons of obscure data structures, but only a few that people would
consider cool. Wikipedia cannot and should not show that information, because
it's inherently subjective.

~~~
anothermachine
StackOverflow cannot show that information either, because it's inherently
subjective!

"What are some data structures not found on Wikipedia" is an objective
question (but time-bound, which violates an SO policy)

------
arethuza
Working with CouchDB has taught me about append-only btrees, which are quite
simple but rather neat:

<http://www.bzero.se/ldapd/btree.html>

------
ww520
Less known data structures come to mind:

\- Topological sort. Great for dependency traversal.

\- KD-Tree. Great for geo-spatial search.

\- Consistent Hashing. Great for scaling and clustering.

\- Fuzzy Hashing. Great for document digest and mining. Sadly there might be a
patent conflict somewhere.

\- Extendible Hashtable. Amazing space-efficient and extendible lookup table.

\- Bloom Filter. Space-efficient check.

------
laluser
Skip lists is such one that I wasn't taught in school. I did not learn about
them until a friend brought them up in a conversation. They are probably
taught in upper level algorithm courses.

------
ebtalley
As someone who dabbled in SO I quickly became disillusioned with the site
after I posted a question on LaTeX and quickly had it closed and then was
shuttled over to the "new" LaTeX site. IMHO, If the question doesn't fit the
current policy don't make the submitter waste his time posting the same
material on 5 different SO sites in order to get a hit. Find a way to transfer
it where the conversation can continue to flourish.

~~~
phwd
I don't seem to understand what you are saying. Answers and comments are
transferred when a question is migrated. In all cases where users have a
problem it is best to raise your issue on meta.stackoverflow.com or at least
reference the question you are talking about above.

------
itmag
I'd like to add a similar question: what are the lesser known but cool control
structures?

~~~
Someone
\- Coroutines

\- Functions with multiple entry points

\- Self-modifying code

\- Computed goto

\- Multiple dispatch

\- Restarts

\- Continuations

\- "Split execution" as in CoreWars

