Hands-On Data Structures and Algorithms in Rust: Learn about the most common and useful data structures and algorithms and implement them in Rust

Hands-On Data Structures and Algorithms in Rust: Learn about the most common and useful data structures and algorithms and implement them in Rust

English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 6h 55m | 1.55 GB

Learn about common and useful Data Structures and Algorithms

Rust is a modern systems programming language designed with safety to simplify the development of large, complex software projects. Data structure and Algorithms are key to help in the collection and organization of the data for performing operations on the data and set instructions/logic to accomplish tasks in these projects. This course will be your guide for implementing classic data structures and algorithms in Rust, helping you to get up and running as a confident Rust programmer.

You will begin with a primer to Rust and its syntax. You will then explore the language of Time and Memory complexity by comparing different sorting methods. You’ll then learn about Lists and Binary Trees, implement them, and compare them, to show the advantages and use cases of each. Next, you will cover different algorithms in-depth such as sorting, graph, dynamic programming, greedy, divide and conquer, and more. You will learn how counterintuitive techniques can actually make it easier to build scalable projects!

By the end of the course, you will have a sound knowledge of the key data structures and algorithms in Rust to confidently implement them in your applications.

Learn

  • How Rust can help you keep your memory access safe and effective
  • How we can use Rust to build Generic Algorithms that we can use again and again across our codebase
  • Greedy, dynamic, and Iterative algorithms and when to use them
  • Different data structures such as Maps, Trees, and Linked lists, and when it is appropriate to use them.
  • Why and how an Entity Component System separates the different parts of the object into different storage areas
  • How we can build files that work like simple databases using BTrees
  • How we can run our programs even faster-using Multithreading
Table of Contents

Getting to Grips with Rust and its Syntax
1 Course Overview
2 Install Rust and Running a Simple Program
3 Build complex structures with Struct and Enum
4 Results and Options
5 Looping Mechanisms in Iterators
6 Stack Data Structure in Rust
7 Mutability, Variables, Copying, and Cloning
8 Use Memory Effectively with Pointers and Lifetimes
9 Own Memory on the Heap with Box, String, and Vecs
10 Difference Between Str and String
11 Uploading to Crates

Algorithm Complexity and Sorting Algorithms
12 Sorting Using Bubble Sort
13 Divide and Conquer Sorting with Merge Sort
14 Sorting in Place with Quick Sort
15 Improving Our Quick Sorter with Pseudo Random Numbers
16 Spiting Quick Sort Using Multiple Threads
17 Let Rayon Speed It Up with Work Stealing
18 Cut the Right Corners to Increase Your Speed with Dynamic Programming

Building Linked Lists and Binary Trees
19 Creating a Linked List
20 Viewing Data in Both Directions with Doubly Linked Lists
21 Building a Binary Tree to Efficiently Store and Sort Data
22 Converting Binary Tree to a Binary Balance Tree
23 Learning About Skip Lists and Their Potential Advantages
24 Managing the Heights of a Skip List
25 Computing Huffman Encoding and to Compress Data

Model Real Situations as Graphs of Connected Nodes
26 Consider the Options for Creating and Storing Graphs
27 Filling the Graph
28 Route Structure
29 Finding the Shortest Path
30 A Greedy Solution to the Travelling Salesman
31 Improve the Solution Using Iterative Methods

Getting Constant Time Data Access Using HashMap
32 What a HashMap Is and Why and When Do We Use Them
33 Building HashMap from Scratch
34 Building a Bucket List for the HashMap to Use
35 Finishing the HashMap
36 Testing and Improving Our HashMap
37 HashMap versus BTreeMap

Organizing Your Data by Type with Entity Component Systems
38 Understand What an ECS Is and How It Differs from Traditional Structures
39 Creating an ID Generator
40 Creating Data Stores
41 Building ECS Systems
42 Combining It All into a Simple CLI Game
43 Introduction to Specs

Persistent Storage Data Structure
44 Creating a Blob Data File
45 Converting Any Data Size to Byte String
46 Creating a Blob Store
47 Adding to the Blob Store
48 Reading from the Blob Store
49 Removing an Element from the Blob Store