Wrapping Up
We’re almost at the end of our journey, as this chapter represents the last significant data structure that we’ll encounter in this book. We’ve seen that graphs are extremely powerful tools for dealing with data involving relationships, and in addition to making our code fast, they can also help solve tricky problems.
Along our travels, our primary focus has been on how fast our code will run. That is, we’ve been measuring how efficient our code performs in terms of time, and we’ve been measuring that in terms of counting the number of steps that our algorithms take.
However, efficiency can be measured in other ways. In certain situations, there are greater concerns than speed, and we might care more about how much memory a data structure ...