Using Advanced Data Structures in Modern Applications

Using Advanced Data Structures in Modern Applications
Using Advanced Data Structures in Modern Applications
English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 4h 21m | 604 MB

Through a strong focus on intuition and examples, you'll learn the inner workings of a number of powerful data structures, and see real-world scenarios that can help you to achieve great performance and solve apparent complex problems.

Built-in data structures are great for a lot of things, but sometimes in modern applications the use of more advanced structures is required in order to implement things efficiently. In this course, Using Advanced Data Structures in Modern Applications, you'll learn how bloom and cuckoo filters can be used to prevent a cache from being wasted on items that are only read once. First, you'll delve into how disjoint-set data structures can be used to efficiently form clusters of related users of an application. Furthermore, you'll discover how you can implement high-performing auto-completion mechanisms with query times only proportional to the length of the search pattern, and not the amount of text that's within search. Finally, you'll explore how spatial indexing mechanisms, such as geohashing, B-trees, R-trees, and M-trees, can help querying geographical positions and numeric properties. By the end of this course, you'll have the necessary knowledge to efficiently put data structures to use in practice.

Table of Contents

01 - Course Overview
02 - Introduction and Prerequisites
03 - The Match Finder App and How to Watch the Course
04 - Introduction
05 - Hash Functions
06 - Demo 1
07 - Linear Probing
08 - Robin Hood Hashing
09 - Cuckoo Hashing
10 - Demo 2
11 - Lessons Learned
12 - Introducing a Cache Problem
13 - Bloom Filters Explained
14 - Solving the Cache Problem
15 - Lessons Learned
16 - Introduction
17 - Cuckoo Filters Explained
18 - Solving the Cache Problem (Again)
19 - Lessons Learned
20 - Introduction
21 - Geohashes (Point to Number)
22 - B-trees (General Index)
23 - R-trees (Rectangles)
24 - M-trees (Spheres)
25 - Various Considerations
26 - Demo - Querying Nearby Users
27 - Lessons Learned
28 - Introduction
29 - Using Maps
30 - Using a Forest
31 - Demo - Implementing the Interaction Monitor
32 - Lessons Learned
33 - Introduction
34 - Tries
35 - Demo - Implementing Autocompletion
36 - Lessons Learned
37 - Introduction
38 - Suffix Trees
39 - Demo - Implementing Keyword Suggestion
40 - Other Applications
41 - Lessons Learned