Studied Computer Science – but never really understood the complex topic of data structures and algorithms?

Or maybe you’re a self-taught programmer, with little to no knowledge of this important topic.

Or perhaps you failed a job interview because you couldn’t answer basic data structure and algorithm questions.

So, why are data structures so important these days?

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.**

#### A complex topic made simple

That’s why I made this course. I want to demystify data structures and algorithms once and for all.

I remember being hopelessly confused when my college lecturer tried to teach it, many moons ago. So I had to teach myself. Now I’m an expert on the topic, and I want to save you the dozens of hours I wasted at the library trying to wrap my head around it.

#### 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

#### What you’re going to learn

This course is the second of a series. In the first part, we covered the linear data structures (Arrays, Linked Lists, Stacks, Queues and Hash Tables). In this part, we’ll be focusing on non-linear data structures. Part 3 is about searching and sorting algorithms.

Here’s what you’re going to learn in this part:

- Binary Trees
- AVL Trees
- Heaps
- Tries
- Graphs

#### Who is this course for?

- Anyone preparing for a coding job interview
- Computer science students whose lecturers failed to explain the topics
- Self-taught developers who missed out on a computer science degree
- Anyone who wants to become a better developer

### Headlines

Getting Started

1- Introduction (0:50)

2- Source Code

Binary Trees (73m)

1- Introduction (0:55)

2- What are Trees (5:36)

3- Exercise- Populating a Binary Search Tree

4- Exercise- Building a Tree (2:41)

5- Solution- insert() (7:44)

6- Solution- find() (2:00)

7- Traversing Trees (5:58)

8- Exercise- Tree Traversal

9- Recursion (5:39)

10- Depth First Traversals (5:23)

11- Depth and Height of Nodes (7:06)

12- Minimum Value in a Tree (7:37)

13- Exercise- Equality Checking (0:45)

14- Solution- Equality Checking (4:08)

15- Exercise- Validating Binary Search Trees (4:14)

16- Solution- Validating Binary Search Trees (4:18)

17- Exercise- Nodes at K Distance (1:48)

18- Solution- Nodes at K Distance from the Root (4:37)

19- Level Order Traversal (2:55)

20- Trees- Exercises

21- Summary (1:22)

##### AVL Trees (49m)

1- Introduction (0:31)

2- Balanced and Unbalanced Trees (3:01)

3- Rotations (5:02)

4- AVL Trees (4:04)

5- Exercise: AVL Rotations

6- Exercise- Building an AVL Tree (1:11)

7- Solution- insert() (8:47)

8- Exercise- Height Calculation (1:24)

9- Solution- Height Calculation (2:43)

10- Exercise- Balance Factor (2:04)

11- Solution- Balance Factor (4:01)

12- Exercise- Detecting Rotations (2:54)

13- Solution- Detecting Rotations (3:32)

14- Exercise- Implementing Rotations (3:51)

15- Solution- Implementing Rotations (5:40)

16- AVL Trees- Exercises

17- Summary (1:01)

A Quick Note

Heaps (53m)

1- Introduction (0:21)

2- What are Heaps (6:28)

3- Exercise- Working with Heaps

4- Exercise- Building a Heap (1:55)

5- Solution- insert() (8:24)

6- Solution- remove() (7:07)

7- Solution – Edge Cases (6:11)

8- Heap Sort (2:29)

9- Priority Queues (5:04)

10- Exercise- Heapify (1:26)

11- Solution- Heapify (7:12)

12- Solution- Optimization (2:42)

13- Exercise- Kth Largest Item (0:31)

14- Solution- Kth Largest Item (3:47)

15- Heaps- Exercises

16- Summary (1:19)

##### Tries (46m)

1- Introduction (0:30)

2- What are Tries (3:50)

3- Exercise- Populating a Trie

4- Exercise- Building a Trie (3:03)

5- Solution- Building a Trie (5:44)

6- An Implementation with a HashTable (1:50)

7- A Better Abstraction (5:28)

8- Exercise- Looking Up a Word (1:12)

9- Solution- Looking Up a Word (2:35)

10- Traversals (3:35)

11- Exercise- Removing a Word (1:53)

12- Solution- Removing a Word (8:14)

13- Exercise- Auto Completion (2:51)

14- Solution- Auto Completion (5:59)

15- Tries- Exercises

16- Summary (0:45)

A Quick Note

##### Graphs (66m)

1- Introduction (0:26)

2- What are Graphs (2:09)

3- Adjacency Matrix (4:14)

4- Adjacency List (6:32)

5- Exercise- Building a Graph (1:50)

6- Solution- Adding Nodes and Edges (7:34)

7- Solution- Removing Nodes and Edges (4:48)

8- Traversal Algorithms (3:58)

9- Exercise- Traversal Algorithms

10- Exercise- Depth-first Traversal (Recursive) (1:29)

11- Solution- Depth-first Traversal (Recursive) (3:44)

12- Exercise- Depth-first Traversal (Iterative) (2:44)

13- Solution- Depth-first Traversal (Iterative) (3:59)

14- Exercise- Breadth-first Traversal (Iterative) (1:18)

15- Solution- Breadth-first Traversal (2:41)

16- Exercise- Topological Sorting (5:06)

17- Solution- Topological Sort (4:05)

18- Exercise- Cycle Detection (Directed Graphs) (3:42)

19- Solution- Cycle Detection (Directed Graphs) (6:26)

20- Graphs Summary (1:02)

Undirected Graphs (59m)

1- Introduction (0:26)

2- Exercise- Weighted Graphs (1:30)

3- Solution- Weighted Graphs (5:20)

4- An Object-oriented Solution (6:13)

5- Dijkstra’s Shortest Path Algorithm (4:35)

6- Exercise- Getting the Shortest Distance (6:08)

7- Solution- The Shortest Distance (5:27)

8- Solution- Shortest Path (7:53)

9- Exercise- Cycle Detection (Undirected Graphs) (2:03)

10- Solution- Cycle Detection (Undirected Graphs) (4:42)

11- Minimum Spanning Tree (1:56)

12- Exercise- Prim’s Algorithm (2:45)

13- Solution- Prim’s Algorithm (10:39)

14- Thank You

#### links:

* For Uploadboy premium users only *

Part one Part two Part three Part four### You can also use Data Structures & Algorithms: Part 1 Course 🙂

Source : codewithmosh.com

## 24 Comments. Leave new

Thank you Logan

your welcome

Many Thanks Logan

❤️

hi Does this video have captions (subtitles)?

Hi!

No

hi please put this video course for all users not premium users of uploadboy

Unfortunately it is Not possible

Thanks

😍

part 3 is out : https://codewithmosh.com/p/data-structures-algorithms-part-3

waiting your upload

File healthy.

What does that mean? Is it coming or not?

Come.

You must get a subscription from the relevant site and then download.

When part 3 will be released on this site?

Not specified.

When part 3 will be released?

Not specified.

Please upload part 3 of this course

soon

please upload part 3 of this course

ok

soon

Please Upload https://codewithmosh.com/p/data-structures-algorithms-part-3

soon