What does this data structure do? i.e. which operations does it support?