What this book covers
Chapter 1, Hello Rust!, gives a short recap of the Rust programming language and what changed in the
2018 edition.
Chapter 2, Cargo and Crates, discusses Rust's cargo build tool. We will explore the configuration as well
as the build process and modularization options.
Chapter 3, Storing Efficiently, looks at how in Rust, knowing where values are stored is not only
important for performance, but also important for understanding error messages and the language
in general. In this chapter, we think about stack and heap memory.
Chapter 4, Lists, Lists, and More Lists, covers the first data structures: lists. Using several examples,
this chapter goes into variations of sequential data structures and their implementations.
Chapter 5, Robust Trees, continues our journey through popular data structures: trees are next on the
list. In several detailed examples, we explore the inner workings of these efficient designs and how
they improve application performance considerably.
Chapter 6, Exploring Maps and Sets, explores the most popular key-value stores: maps. In this chapter,
techniques surrounding hash maps; hashing; and their close relative, the set; are described in
detail.
Chapter 7, Collections in Rust, attempts to connect to the Rust programmer's daily life, going into the
details of the Rust std::collections library, which contains the various data structures provided by the
Rust standard library.
Chapter 8, Algorithm Evaluation, teaches you how to evaluate and compare algorithms.
Chapter 9, Ordering Things, will look at sorting values, an important task in programming—this chapter
uncovers how that can be done quickly and safely.
Chapter 10, Finding Stuff, moves onto searching, which is especially important if there is no
fundamental data structure to support it. In these cases, we use algorithms to be able to quickly
find what we are looking for.
Chapter 11, Random and Combinatorial, is where we will see that, outside of sorting and searching,
1