This document discusses splay trees, a self-organizing binary search tree data structure. Splay trees perform rotations to move recently accessed elements closer to the root of the tree after operations like insertion, deletion and search. While splay trees do not guarantee an upper bound on tree height like AVL or red-black trees, the amortized time of all operations is O(log n). Splaying restructures the tree in a way that frequently accessed elements are faster to access in the future.