Describe skip lists.
Skip lists have some variable MAX_LEVELS. We create a dummy node with this many levels.
For each element we insert, we select a random height between [1,MAX_LEVELS], and connect all the adjacent pointers on the same levels to it.
How do search a skip tree?
Start at the dummy node’s highest level. Look at the size of the element pointed to.
At some point, you’ll either:
Describe deletion from a skip list.
1) Find the element.
2) Connect pointers to it to whatever it’s pointing to at that level.
3) Delete the element object.
Describe inserting an element into a skip list.
1) Search for where the element would go.
2) Connect the parent elements to it.
3) Connect it to its children elements.