Splay trees
simpler data structure than those that explicitly maintain balanced tree (don’t explicitly maintain any height or balance info)
excellent amortized running time -- guarantees do not depend on any assumption about distribution of accesses
practically even better.
- Locality of reference -- when a node is accessed it is likely to be accessed again in the near future.