splay tree is a binary search tree that lets the root always be a target of the search so it enables O(1) for accessing the data. this is often used for cache algorithm. shape of the tree is kept by rotation depending on zig-zag, zig-zig, and zig pattern.