In this chapter, we will focus on trees. We will cover the following recipes:
Building self-balancing and search-efficient splay trees
Designing an efficient key-value store using B-trees
Devising an undo-capable data structure using a rope
Designing an autocomplete system using a trie