No mention of the splay tree? I am a little disappointed. The locality of access and dynamic programming semantics are super compelling to me.
>splay tree Oh yes! Probably my favorite data structure. In the past I've used them instead of arrays for performance (latency) reasons when constructing ordered sets from randomly distributed elements that came in multiple batches. Insertion into a splay tree meant that no sorting step at the end was necessary and the overhead was lower than first collecting everything into an array and only sorting after all elemen…
If you use GUID keys, this problem magically goes away with zero effort.