Design and implement efficient programs by exploring modern Rust data structures and algorithms
Key Features
- Use data structures such as arrays, stacks, trees, lists, and graphs with real-world examples
- Learn the functional and reactive implementations of traditional data structures
- Explore illustrations to visually present data structures and algorithms with their analysis
Book Description
Rust is a multi-paradigm system programming language widely used in developing a variety of new software applications. Its key strengths are its software infrastructure and resource-constrained applications such as desktop, servers, and performance-critical apps, as well as its importance in systems programming. This book is a systematic guide that will explain how to implement classic data structures and algorithms in Rust, and help you become a confident Rust programmer.
The book begins with an introduction to Rust data structures and algorithms, while also covering essential language constructs. You will learn how to store data using linked lists, arrays, stacks, and queues. You will also understand how to implement sorting and searching algorithms. In the later chapters, you will gain insights into achieving high performance by implementing algorithms in string data types and hash structures in algorithm design. Finally, this book focuses on algorithmic techniques such as dynamic programming and backtracking along with algorithms such as brute force algorithms, greedy algorithms, and divide and conquer algorithms.
By the end of this book, you will have learned how to build components that are easy to understand, debug, and use in different applications.
What you will learn
- Delve into advanced algorithms such as dynamic processing and greedy algorithms
- Write efficient programs in Rust using the most suitable data structure and algorithm
- Create and use well-tested and reusable components with Rust
- Understand the basics of multithreaded programming and advanced algorithm design
- Get familiar with application profiling based on benchmarking and testing
- Design and implement complex data structures such as arrays, lists, stacks, and queues in Rust
Who this book is for
This book is for developers who want to use Rust solutions in a practical and professional setting and learn essential Rust data structures and algorithms. Basic knowledge of Rust and some experience in other programming languages is required.
Table of Contents
- Hello Rust!
- Cargo and Crates
- Storing Efficiently
- Lists, Lists, and More Lists
- Robust Trees
- Exploring Maps and Sets
- Collections in Rust
- Algorithm Evaluation
- Ordering Things
- Finding Stuff
- Random and Combinatorial
- Algorithms of the Standard Library
- Assessments
Claus Matzinger is a software engineer with a very diverse background. After working in a small company maintaining code for embedded devices, he joined a large corporation to work on legacy Smalltalk applications. This led to a great interest in programming languages early on, and Claus became the CTO for a health games start-up based on Scala technology.
Since then, Claus' roles have shifted toward customer-facing roles in the IoT database-technology start-up crate.io and, most recently, Microsoft. There, he hosts a podcast, writes code together with customers, and blogs about the solutions arising from these engagements. For more than 5 years, Claus has implemented software to help customers innovate, achieve, and maintain success.