For a homework assignment, I need to understand how a skip list works.
I've been programming for a little over 2 years now (I know that's not that long in reality), and I have never even heard of a skip list.
I've looked over all of the guides that I can find, and I still only barely understand how they work. I even searched Code Review for an example implementation, and found only one review; and it's not even a complete implementation. I looked over the sample implementation supplied by the course (written by Pat Morin), and it's absolutely atrocious. Between the lack of proper methods, and single-letter variable names, I have no clue how it works.
How does a skip list work? Is knowledge of a skip list required to understand more advanced data structures?