Data structures are the second most basic building blocks of programming, following control flow. After early languages developed control flow structures, it quickly became apparent that simple variable labels were insufficient for developing complex programs. Data structures have evolved from the basic concept of a sized datum stored at an address to the concept of strings and arrays, followed by mixed structures, and finally collections.
In this chapter, we will revisit the project introduced in Chapter 2, Functional Control Flow. The project requirements have expanded to accommodate feedback from the potential client. There are also specific performance targets that must be met due to competition from a rival developer. To help our business succeed, we must now improve the previous simulation and ensure that it meets customer demand and performance...