Arrays, lists, trees, hash tables, graphs — choosing the right structure for the right access pattern.