Skip to content

janestreet/splay_tree

Repository files navigation

A splay tree implementation.

Splay trees are binary search trees that move recently accessed nodes closer to the root for easier access. They have amortized O(log n)-time access for a large enough sequence of primitive operations.

A splay trees may outperform other trees such as red-black trees when recently accessed items are more likely to be accessed in the near future.

Notably, this splay tree implementation is parameterized by a reduction operation which lets you specify an extra accumulator value, which can then be searched by efficiently.