Skip to main content

Unit 3

e-Portfolio Activity — Data Structures Reflection

Task

Read Wang et al (2023). Think about an online system which you use on a daily basis. Consider how it might operate at the back-end using data structures. This will inform our discussion during next week’s seminar.

The operation of any complex application depends on underlying data structures that represent data in a form suitable for efficient processing. Let’s review how a complex online application like Google Maps could take advantage of different data structure to support its functionality.

At its core, a map can be modeled as a graph, where intersections or points of interest are nodes and roads are the edges connecting them. The edges have weights assigned to them, such as distance, travel time, or cost, depending on the mode of transportation (walking, driving, public transport, etc.). Graph-based structures enable computing optimal routes with specialised algorithms.

For visual presentation of a map, additional data structures such as maps or dictionaries can be used to link different object types (roads, buildings, forests, and so on) to corresponding visual styles on a vector map. For satellite maps, map is divided into tiles each associated with a satellite photo at a specific resolution.

Finally, navigation routes can be represented as ordered sequences such as lists or queues, where each element corresponds to a navigation instruction. As the user moves along the route, the instructions are processed sequentially.