Skip list is a data structure that I really like. It seems like I have written it in Java before, so I'll use it to familiarize myself with the language.
This is a data structure that trades space for time. The first time I heard about it was in Redis's zset. Of course, the implementation there is much more complex, as it also maintains scores
, additional backward pointers
, and so on.