A skip list is a probabilistic data structure to store and retrieve in-memory data in an efficient way. In short, it is a linked structure that diminishes the linear big-oh complexity of a linked list with elements having additional shortcuts pointing towards other elements located further in the list [7]. These shortcuts allow operations to complete in O(logn) steps in expectation. The drawback of employing shortcuts is however to require additional maintenance each time some data is stored or discarded.
['Tyler Crain', 'Vincent Gramoli', 'Michel Raynal']
Brief announcement: a contention-friendly, non-blocking skip list