
Exotic Data Structures (2011) - panic
http://concatenative.org/wiki/view/Exotic%20Data%20Structures
======
_asummers
The MIT OCW Advanced Data Structures course goes over these in pretty good
detail. Definitely worth a watch.

~~~
bubaflub
Are you referring to [https://ocw.mit.edu/courses/electrical-engineering-and-
compu...](https://ocw.mit.edu/courses/electrical-engineering-and-computer-
science/6-851-advanced-data-structures-spring-2012/)?

~~~
_asummers
Yup! YouTube playlist:
[https://www.youtube.com/playlist?list=PLUl4u3cNGP61hsJNdULdu...](https://www.youtube.com/playlist?list=PLUl4u3cNGP61hsJNdULdudlRL493b-XZf)

------
nayuki
"1\. Compact dynamic array" has a rather strange name of
[https://en.wikipedia.org/wiki/Hashed_array_tree](https://en.wikipedia.org/wiki/Hashed_array_tree)

~~~
panic
Wow, that really is a terrible name -- especially now that "hash array mapped
tries" are a popular implementation of persistent hash maps. I wonder if
there's any way to justify changing the article name on Wikipedia.

~~~
nayuki
The name HAT was given by its inventor Edward Sitarski in 1996. It looks like
few people are implementing it and/or calling it by a different name. Because
of this lack of development, it might not be possible to change the name to a
more modern, neutral alternative.

------
pagnol
This website seems like a real gem. Thanks for posting!

~~~
evincarofautumn
Concatenative programming is definitely an overlooked paradigm. Factor and
Forth(s) are worth trying out, if only for how they influence your thinking
about software architecture in a minimal, compositional style.

------
HugoDaniel
Is there any language that has implementations of all of these ?

------
MichaelMoser123
Compact dynamic array is an std::deque right? What's so exotic about that?

~~~
wfunction
No, std::deque has O(n) space overhead... the goal here is to get that to
O(sqrt(n)), and _in the worst case_ too.

~~~
mnarayan01
Where are you getting O(sqrt(n)) space from? The linked article says O(n) for
compact dynamic arrays.

~~~
wuch
Note that the original article describes space complexity as "N + O(sqrt N)",
i.e., there are N records and O(sqrt N) extra space.

Their data structure is considerably more complex than traditional
implementations of std::deque, I wonder if it is actually of any practical
interest.

