what is a skip list
a probabilistic data structure arranged horizontally into levels and vertically into towers.
what does each node contain
key value pair and pointers to other nodes
give the ADT of a skip list
after(p) - on same level
before(p) - on same level
above(p) - on same tower
below(p) - on same tower
what do nodes above/below share
the same key value pair
how are towers usually stored
using a separated data structure
how do you search
zig zag down and right.
move sideways when the next key is bigger than k, down otherwise
how do you insert
create a new node after search(k)
use coin flip to determine how many levels to go up.