Data structures and algorithms are patterns for solving problems. Developers who know more about data structures and algorithms are better at solving problems. That’s why companies like Google, Microsoft and Amazon always include interview questions on data structures and algorithms. They want to assess your problem-solving skills. They don't care how many programming languages and frameworks you're familiar with.
The Ultimate Data Structures & Algorithms: Part 2
By the end of this course…
You’ll be able to:
- Ace your next coding interview
- Write better, faster code
- Become a better developer
- Improve your problem solving skills
- Master computer science fundamentals
- Implement all the essential data structures from scratch
- Master dozens of popular algorithms
About the Author: Mosh Hamedani (Code with Mosh)
Mosh Hamedani is the founder of Code with Mosh, one of the highest-volume independent online instructors in software education. He has been publishing courses continuously since the early Udemy era and has taught over a million students across his Udemy catalog and his standalone Code with Mosh platform. His teaching style is patient, rigorously structured, and deliberately beginner-tolerant — the courses are widely cited as some of the most accessible introductions to their respective topics.
The Code with Mosh catalog covers an unusually wide span: web development with HTML / CSS / JavaScript / React / Angular / Node.js, Python and Django, C# and .NET, mobile development with React Native and Flutter, SQL and database fundamentals, and the algorithm / data-structure interview prep tracks. Few independent instructors maintain this much breadth at consistent quality.
The CourseFlix listing under this source carries over 35 Code with Mosh courses spanning that range. Material is paid; Code with Mosh runs on per-course pricing on the original platform. Courses are aimed primarily at developers picking up a new technology from a clean start through to working production proficiency.
Watch Online 94 lessons
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 1 | Introduction Demo | 00:51 | |
| 2 | Introduction | 00:56 | |
| 3 | What are Trees | 05:37 | |
| 4 | Exercise- Building a Tree | 02:42 | |
| 5 | Solution- insert() | 07:45 | |
| 6 | Solution- find() | 02:01 | |
| 7 | Traversing Trees | 05:59 | |
| 8 | Recursion | 05:40 | |
| 9 | Depth First Traversals | 05:24 | |
| 10 | Depth and Height of Nodes | 07:07 | |
| 11 | Minimum Value in a Tree | 07:38 | |
| 12 | Exercise- Equality Checking | 00:46 | |
| 13 | Solution- Equality Checking | 04:09 | |
| 14 | Exercise- Validating Binary Search Trees | 04:15 | |
| 15 | Solution- Validating Binary Search Trees | 04:19 | |
| 16 | Exercise- Nodes at K Distance | 01:49 | |
| 17 | Solution- Nodes at K Distance from the Root | 04:38 | |
| 18 | Level Order Traversal | 02:56 | |
| 19 | Summary | 01:23 | |
| 20 | Introduction | 00:32 | |
| 21 | Balanced and Unbalanced Trees | 03:02 | |
| 22 | Rotations | 05:03 | |
| 23 | AVL Trees | 04:05 | |
| 24 | Exercise- Building an AVL Tree | 01:12 | |
| 25 | Solution- insert() | 08:48 | |
| 26 | Exercise- Height Calculation | 01:25 | |
| 27 | Solution- Height Calculation | 02:44 | |
| 28 | Exercise- Balance Factor | 02:05 | |
| 29 | Solution- Balance Factor | 04:02 | |
| 30 | Exercise- Detecting Rotations | 02:55 | |
| 31 | Solution- Detecting Rotations | 03:34 | |
| 32 | Exercise- Implementing Rotations | 03:52 | |
| 33 | Solution- Implementing Rotations | 05:41 | |
| 34 | Summary | 01:02 | |
| 35 | Introduction | 00:22 | |
| 36 | What are Heaps | 06:29 | |
| 37 | Exercise- Building a Heap | 01:56 | |
| 38 | Solution- insert() | 08:25 | |
| 39 | Solution- remove() | 07:08 | |
| 40 | Solution - Edge Cases | 06:12 | |
| 41 | Heap Sort | 02:30 | |
| 42 | Priority Queues | 05:05 | |
| 43 | Exercise- Heapify | 01:27 | |
| 44 | Solution- Heapify | 07:13 | |
| 45 | Solution- Optimization | 02:43 | |
| 46 | Exercise- Kth Largest Item | 00:32 | |
| 47 | Solution- Kth Largest Item | 03:48 | |
| 48 | Summary | 01:20 | |
| 49 | Introduction | 00:31 | |
| 50 | What are Tries | 03:51 | |
| 51 | What are Tries | 03:04 | |
| 52 | Solution- Building a Trie | 05:45 | |
| 53 | An Implementation with a HashTable | 01:51 | |
| 54 | A Better Abstraction | 05:29 | |
| 55 | Exercise- Looking Up a Word | 01:13 | |
| 56 | Solution- Looking Up a Word | 02:36 | |
| 57 | Traversals | 03:36 | |
| 58 | Exercise- Removing a Word | 01:54 | |
| 59 | Solution- Removing a Word | 08:15 | |
| 60 | Exercise- Auto Completion | 02:52 | |
| 61 | Solution- Auto Completion | 06:00 | |
| 62 | Summary | 00:46 | |
| 63 | Introduction | 00:27 | |
| 64 | What are Graphs | 02:10 | |
| 65 | Adjacency Matrix | 04:15 | |
| 66 | Adjacency List | 06:33 | |
| 67 | Exercise- Building a Graph | 01:51 | |
| 68 | Solution- Adding Nodes and Edges | 07:35 | |
| 69 | Solution- Removing Nodes and Edges | 04:49 | |
| 70 | Traversal Algorithms | 03:59 | |
| 71 | Exercise- Depth-first Traversal (Recursive) | 01:30 | |
| 72 | Solution- Depth-first Traversal (Recursive) | 03:45 | |
| 73 | Exercise- Depth-first Traversal (Iterative) | 02:45 | |
| 74 | Solution- Depth-first Traversal (Iterative) | 04:00 | |
| 75 | Exercise- Breadth-first Traversal (Iterative) | 01:19 | |
| 76 | Solution- Breadth-first Traversal | 02:42 | |
| 77 | Exercise- Topological Sorting | 05:07 | |
| 78 | Solution- Topological Sort | 04:06 | |
| 79 | Exercise- Cycle Detection (Directed Graphs) | 03:43 | |
| 80 | Solution- Cycle Detection (Directed Graphs) | 06:27 | |
| 81 | Graphs Summary | 01:03 | |
| 82 | Introduction | 00:27 | |
| 83 | Exercise- Weighted Graphs | 01:31 | |
| 84 | Solution- Weighted Graphs | 05:21 | |
| 85 | An Object-oriented Solution | 06:14 | |
| 86 | Dijkstra's Shortest Path Algorithm | 04:36 | |
| 87 | Exercise- Getting the Shortest Distance | 06:09 | |
| 88 | Solution- The Shortest Distance | 05:28 | |
| 89 | Solution- Shortest Path | 07:54 | |
| 90 | Exercise- Cycle Detection (Undirected Graphs) | 02:04 | |
| 91 | Solution- Cycle Detection (Undirected Graphs) | 04:43 | |
| 92 | Minimum Spanning Tree | 01:57 | |
| 93 | Exercise- Prim's Algorithm | 02:46 | |
| 94 | Solution- Prim's Algorithm | 10:40 |
Get instant access to all 93 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscriptionCourse content
94 lessons · 5h 56m 46sShow all 94 lessons
- 1 Introduction 00:51
- 2 Introduction 00:56
- 3 What are Trees 05:37
- 4 Exercise- Building a Tree 02:42
- 5 Solution- insert() 07:45
- 6 Solution- find() 02:01
- 7 Traversing Trees 05:59
- 8 Recursion 05:40
- 9 Depth First Traversals 05:24
- 10 Depth and Height of Nodes 07:07
- 11 Minimum Value in a Tree 07:38
- 12 Exercise- Equality Checking 00:46
- 13 Solution- Equality Checking 04:09
- 14 Exercise- Validating Binary Search Trees 04:15
- 15 Solution- Validating Binary Search Trees 04:19
- 16 Exercise- Nodes at K Distance 01:49
- 17 Solution- Nodes at K Distance from the Root 04:38
- 18 Level Order Traversal 02:56
- 19 Summary 01:23
- 20 Introduction 00:32
- 21 Balanced and Unbalanced Trees 03:02
- 22 Rotations 05:03
- 23 AVL Trees 04:05
- 24 Exercise- Building an AVL Tree 01:12
- 25 Solution- insert() 08:48
- 26 Exercise- Height Calculation 01:25
- 27 Solution- Height Calculation 02:44
- 28 Exercise- Balance Factor 02:05
- 29 Solution- Balance Factor 04:02
- 30 Exercise- Detecting Rotations 02:55
- 31 Solution- Detecting Rotations 03:34
- 32 Exercise- Implementing Rotations 03:52
- 33 Solution- Implementing Rotations 05:41
- 34 Summary 01:02
- 35 Introduction 00:22
- 36 What are Heaps 06:29
- 37 Exercise- Building a Heap 01:56
- 38 Solution- insert() 08:25
- 39 Solution- remove() 07:08
- 40 Solution - Edge Cases 06:12
- 41 Heap Sort 02:30
- 42 Priority Queues 05:05
- 43 Exercise- Heapify 01:27
- 44 Solution- Heapify 07:13
- 45 Solution- Optimization 02:43
- 46 Exercise- Kth Largest Item 00:32
- 47 Solution- Kth Largest Item 03:48
- 48 Summary 01:20
- 49 Introduction 00:31
- 50 What are Tries 03:51
- 51 What are Tries 03:04
- 52 Solution- Building a Trie 05:45
- 53 An Implementation with a HashTable 01:51
- 54 A Better Abstraction 05:29
- 55 Exercise- Looking Up a Word 01:13
- 56 Solution- Looking Up a Word 02:36
- 57 Traversals 03:36
- 58 Exercise- Removing a Word 01:54
- 59 Solution- Removing a Word 08:15
- 60 Exercise- Auto Completion 02:52
- 61 Solution- Auto Completion 06:00
- 62 Summary 00:46
- 63 Introduction 00:27
- 64 What are Graphs 02:10
- 65 Adjacency Matrix 04:15
- 66 Adjacency List 06:33
- 67 Exercise- Building a Graph 01:51
- 68 Solution- Adding Nodes and Edges 07:35
- 69 Solution- Removing Nodes and Edges 04:49
- 70 Traversal Algorithms 03:59
- 71 Exercise- Depth-first Traversal (Recursive) 01:30
- 72 Solution- Depth-first Traversal (Recursive) 03:45
- 73 Exercise- Depth-first Traversal (Iterative) 02:45
- 74 Solution- Depth-first Traversal (Iterative) 04:00
- 75 Exercise- Breadth-first Traversal (Iterative) 01:19
- 76 Solution- Breadth-first Traversal 02:42
- 77 Exercise- Topological Sorting 05:07
- 78 Solution- Topological Sort 04:06
- 79 Exercise- Cycle Detection (Directed Graphs) 03:43
- 80 Solution- Cycle Detection (Directed Graphs) 06:27
- 81 Graphs Summary 01:03
- 82 Introduction 00:27
- 83 Exercise- Weighted Graphs 01:31
- 84 Solution- Weighted Graphs 05:21
- 85 An Object-oriented Solution 06:14
- 86 Dijkstra's Shortest Path Algorithm 04:36
- 87 Exercise- Getting the Shortest Distance 06:09
- 88 Solution- The Shortest Distance 05:28
- 89 Solution- Shortest Path 07:54
- 90 Exercise- Cycle Detection (Undirected Graphs) 02:04
- 91 Solution- Cycle Detection (Undirected Graphs) 04:43
- 92 Minimum Spanning Tree 01:57
- 93 Exercise- Prim's Algorithm 02:46
- 94 Solution- Prim's Algorithm 10:40
Related courses
-
Updated 2y agoData Structures & Algorithms: Part 1
By: Mosh Hamedani (Code with Mosh)Studied Computer Science - but never really understood the complex topic of data structures and algorithms?4 hours 39 minutes 17 seconds 5 / 5 -
Updated 2y agoUltimate Java Part 1: Fundamentals
By: Mosh Hamedani (Code with Mosh)Java is the most widely used and in-demand programming language. It's used in 90% of fortune 500 company websites, most big banks and financial companies, almos3 hours 21 minutes 58 seconds -
Updated 3y agoJava Programming Masterclass covering Java 11 & Java 17
By: UdemyYou’ve just stumbled upon the most complete, in-depth Java programming course online. With over 260,000 students enrolled and tens of thousands of 5 star review80 hours 13 minutes 14 seconds 5 / 5