
The Periodic Table of Data Structures [pdf] - asplake
https://stratos.seas.harvard.edu/files/stratos/files/periodictabledatastructures.pdf
======
sytelus
This is very inspirational but not sure if this is done in the best way. The
core value of Mendeleev's approach is to find gaps and predict things that
should exist but we haven't found yet. However for this to happen, one must
isolate the _" atoms"_ that can't be further broken down and identify the
pattern in these atoms. The periodic table created in Figure 4 of this paper
doesn't exactly sounds like isolation of "atoms" of data structures.

~~~
Sirupsen
I am fascinated with unifying theories such as the periodic table
(Mendeleev's) and the Copernican view of planets orbiting the sun. The
previous, Earth-centric model had more deviations than predictive power. The
periodic table is also an example of a structure with tremendous predictive
power.

I think it's also interesting to distinguish between systems that reveal
intrinsic order (e.g. periodic table), and systems that superimpose external
order (e.g. a performance review framework).

Behavioural economics is an example of a field that desperately needs a
modern-day equivalent of Mendeleev to come around and structure.

I am craving more examples of this, please, anyone, share!

~~~
r-bryan
I can't find it now but I recently read of one or two guys who systematically
tabulated juggling tricks. Gaps in the table led to new tricks which
astonished experienced jugglers -- the way gaps in the periodic table led
Mendeleev to predict properties of undiscovered elements. One guy gives talks
on juggling at math conferences and on math at juggling conferences.

~~~
gwilliams
This reminds me of the effort to enumerate all ways of tying a necktie:
[http://www.tcm.phy.cam.ac.uk/~tmf20/tieknots.shtml](http://www.tcm.phy.cam.ac.uk/~tmf20/tieknots.shtml)

------
nissarup
I want that read/write/space-optimized triangle prominently featured in every
languages documentation, filled in with the different data stuctures from that
language.

Need quick reads? Use Y. Quick writes? Use X. Etc.

~~~
zawerf
I think I saw it popularized as the "RUM Conjecture" on HN a while back:

[https://medium.com/databasss/on-disk-storage-
part-4-b-trees-...](https://medium.com/databasss/on-disk-storage-
part-4-b-trees-30791060741)

[http://daslab.seas.harvard.edu/rum-
conjecture/](http://daslab.seas.harvard.edu/rum-conjecture/)

~~~
tedd4u
Same authors as the OP btw:

Manos Athanassoulis Postdoctoral Researcher

Michael S. Kester Graduate Researcher

Lukas Maas Graduate Researcher

Stratos Idreos Assistant Professor of Computer Science

------
rrk4n0
About the gaps

"""Mendeleev was a friend and colleague of the Sanskritist Böhtlingk, who was
preparing the second edition of his book on Pāṇini[47] at about this time, and
Mendeleev wished to honor Pāṇini with his nomenclature.[48] Noting that there
are striking similarities between the periodic table and the introductory Śiva
Sūtras in Pāṇini's grammar"""

More:
[https://en.wikipedia.org/wiki/Dmitri_Mendeleev](https://en.wikipedia.org/wiki/Dmitri_Mendeleev)

------
bordercases
The generalized form of the "Periodic Table" is the Morphological Analysis.
[http://www.swemorph.com/ma.html](http://www.swemorph.com/ma.html)

Most of the theoretical work is in picking the right properties that expose
the right trade-offs. Beyond that, the method is deceptively simple.

------
DoctorOetker
this is probably off topic, but I've waited before asking until I found the
closest topic from my perspective:

A while back (order months or years but certainly within last 2 years) someone
mentioned a paper, I believe it was here on HN either as the topic or in a
comment, but perhaps it may have been on IRC.

I am no longer able to find back this paper, and have only a vague
recollection of it (I had read the abstract and the introduction and then
postponed reading until I forgot about it).

It dealt with the problem of say 2 peers each having their own list or set,
and part of their list is in common, but both may also have entries the other
doesn't have. The problem was finding the most efficient way such that both
end up with the union of both lists or sets. A brute force way would be to
each send a copy of their list to the other, a slightly less brute way would
be to have only one send a full copy, and have the other return his
difference. But the paper detailed a more efficient method, which obviously I
can't remember...

Does this description ring a bell? Does anyone know the paper I am trying to
locate?

~~~
nicklaf
I actually have a similar question to yours--I lost track of a set of notes
that was linked to in a HN comment, and would like to find them again!

The notes were a (draft?) PDF for a textbook on algorithms--much like
_Mathematics for Computer Science_ by Lehman & Leighton [1]--but instead, the
topic was narrowly restricted to algorithms with a cryptographic or otherwise
number-theoretic basis. In particle, hashes, content-addressable storage, and
Merkle-trees were covered.

[1]
[https://courses.csail.mit.edu/6.042/spring18/mcs.pdf](https://courses.csail.mit.edu/6.042/spring18/mcs.pdf)

~~~
mangamadaiyan
Not this one by any chance?

Boaz Barak, "An Intensive Introduction to Cryptography"

[https://news.ycombinator.com/item?id=17896692](https://news.ycombinator.com/item?id=17896692)

~~~
nicklaf
Very interesting. I can't actually decide if this was what I had in mind, but
it actually looks better. Thanks!

------
justin66
I was reminded slightly of the taxonomy of abstract data types (as opposed to
data structures) that appears in Sally Goldman's _A Practical Guide to Data
Structures and Algorithms using Java:_

[https://books.google.com/books?id=xT8qBgAAQBAJ&lpg=PP1&dq=A%...](https://books.google.com/books?id=xT8qBgAAQBAJ&lpg=PP1&dq=A%20Practical%20Guide%20to%20Data%20Structures%20and%20Algorithms%20using%20Java&pg=PA22#v=onepage&q=A%20Practical%20Guide%20to%20Data%20Structures%20and%20Algorithms%20using%20Java&f=false)

------
aeneasmackenzie
A few months ago I saw a program like this that would derive a data structure
for you based on what operations you wanted to perform (inserts and queries,
for example) but I haven't been able to find it again.

~~~
aratno
Is this the one you’re thinking of?
[https://blog.acolyer.org/2018/06/21/generalized-data-
structu...](https://blog.acolyer.org/2018/06/21/generalized-data-structure-
synthesis/)

~~~
aeneasmackenzie
That's it! Thank you.

------
gralx
Here's the citation from parent link seas.stratos.harvard.edu:

S. Idreos, et al., “The Periodic Table of Data Structures,” Bulletin of the
IEEE Computer Society Technical Committee on Data Engineering, vol. 41, no. 3,
pp. 64-75, 2018.

------
ape4
You could make a periodic table of many things. Websites, languages,
databases, etc. Maybe some new ideas could be uncovered.

------
sheikheddy
Should "Data Structures" be followed with "is"? I was under the impression
that since it's plural, we'd have an "are".

~~~
hmyr1
In this case, yes.

> This is why many argue that research on algorithms and data structures is

"is" refers to "research", not "data structures"

~~~
fhars
The sentence in question is

> _Data structures_ is how we store and access data.

wich is arguably just a bad sentence.

~~~
addicted
The grammar is still correct if the reference here is to data structures as a
singular group which is actually what the sentence appears to do.

~~~
dahart
Whether it’s correct or not, it’s not a great sentence, and would benefit from
a rewrite.

Language is weird sometimes, so I’m not certain, but your argument seems
circular and incorrect. Use of ‘is’ doesn’t cause ‘data structures’ to be
singular a collective noun. The noun is plural, so the correct verb is ‘are’.
The sentence would need to name the singular collective in order to use ‘is’.
For example: “A set of data structures is how we store and access data.” That
would be correct. Arguing that “Hard disks is how we store and access data” is
correct and that “hard disks” is a singular collective noun, because the
sentence used ‘is’, is not normally accepted grammar.

------
killjoywashere
If this works, a universal method to an exact solution for all differential
equations would be on there. Good luck with that.

------
wiz21c
Reminds me of GoF patterns (the approach), but the result here seems more
pedagogical...

------
russfink
I see Tarjan cited but no Sedgewick, or CLRS. I'm against obsequious
citations, so I'll give the benefit of the doubt that these aren't needed.

~~~
thrower123
CLRS is wildly overrated; it's got a lot of odd gaps in the data structures
that it does cover, and wastes a lot of time and space on esoteric junk.

~~~
hhmc
What's your preferred reference?

------
platz
A Cartesian product is not a periodic table

