common data structures and their associated algorithms