(Note: each 5 points on this practice exam can replace one missed point on other written assignments - thus this assignment can replace up to 30 points total)
Data Structure Design: (30 pts) Your task is to implement a representation of a railroad map. You have cities with names and locations, listed as (X,Y) coordinates, and railroad links between cities, with each link having a distance between those cities. The operations that will be performed most frequently (and therefore which must be performed quickly) are finding the nearest city to a given point (set of X,Y coordinates), and finding the shortest path from one city to another, traversing the rail lines.