This chapter has shown you the basic building blocks of programs, namely algorithms and data structures, at work in the Qt environment. More specifically, we learned about algorithms and data structures, in particular about algorithm classes, the O(n) notation, array and vector containers, lists, trees, and hash tables. We saw also how the Qt containers look internally and how to use them, as well as the dangers of using COW containers, and Qt's standing in respect to algorithms and iterators, along with Qt string classes and how to use them efficiently. Some general string optimization techniques, some pointers about how to optimize your algorithm, and the techniques to improve the locality of your data structures were also addressed.
In the next chapter, we will turn our attention to another big building block of performant programs—concurrent, parallel,...