**Mosh Hamedani - The Ultimate Data Structures & Algorithms: Part 2**

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.

6

hours

130

lessons

Packed with the most popular interview questions and step-by-step solutions

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, sorting and string manipulation algorithms.

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

Binary Trees

AVL Trees

Heaps

Tries

Graphs

This is the most comprehensive data structures and algorithms series online. Every example and exercise is picked from popular interview questions asked by Google, Microsoft, Amazon and other big companies.

Most data structure books and courses are too academic and boring. They have too much math and their code looks ugly, old and disgusting! This course is fun and easy to follow and shows you how to write beautiful code like a software engineer, not a mathematician.

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

Requirements

In this course, I use Java to teach the concepts but you can apply these concepts in any programming language. Our focus is on data structures and algorithms, not programming languages and tools.

All you need to take this course are some basic programming skills. If you know variables, loops, and conditional statements, you're good. If you need a quick refresher to get up to speed with Java syntax, you can watch the first part of my Java series.

Ideally, you should have taken the first part of this series as the concepts and exercises in this part are more complex than those covered in the first part.

**Your Instructor**

Mosh Hamedani

Mosh Hamedani

Hi! My name is Mosh Hamedani. I'm a software engineer with two decades of experience. I've taught millions of people how to code and how to become professional software engineers through my online courses and YouTube channel.

I believe coding should be fun and accessible to everyone.

Get immediately download** Mosh Hamedani - The Ultimate Data Structures & Algorithms: Part 2**

**Course Curriculum**

Getting Started

1- Introduction (0:50)

2- Source Code

Follow Me Around

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- Course Wrap Up (0:30)

15- Thank You

Read more: https://archive.ph/r9jyd

**How can we deliver you the course?**

- View and complete the download here: "Mosh Hamedani - The Ultimate Data Structures & Algorithms: Part 2"

- In some cases, the link is broken for any reason or the product pre-order, our Support Team will contact and update status "**Mosh Hamedani - The Ultimate Data Structures & Algorithms: Part 2**" within a few hours business days.

###

**Access and Download Tips:**

– Enjoy "Mosh Hamedani - The Ultimate Data Structures & Algorithms: Part 2" in your account page.

– Download only one folder or file at a time. Sometimes doing all of the files at once will lead to them all freezing. Always keep the device from turning off the screen and sleeping while the download the files "**Mosh Hamedani - The Ultimate Data Structures & Algorithms: Part 2**" this will result in loss of network connectivity.

– Lastly, download times are much quicker in the mornings, before noon, Pacific time. You may wish to try your downloads during that window, if you are experiencing any issues.

- After completing the download "**Mosh Hamedani - The Ultimate Data Structures & Algorithms: Part 2**" please use a file decompression program with the RAR extension.

– Also, please do not attempt to download to a mobile device. These should be saved to a computer and then synced to devices such as phones and tablets. If you do not have a computer, you should reconsider the streaming format (mp4) instead of downloads. .TS .AVI .FLV videos format are not streaming, so we will replace with another cloud for you. The links you get will never expire.

- If there is any problems about "**Mosh Hamedani - The Ultimate Data Structures & Algorithms: Part 2**" Please don't hesitate to contact us at email: [email protected] or contact us here. we'll be happy to help!

Your patience is appreciated. Thanks :)

###

## One Time Payment of "Mosh Hamedani - The Ultimate Data Structures & Algorithms: Part 2" only $22

You will earn 10% Reward Points with **"Mosh Hamedani - The Ultimate Data Structures & Algorithms: Part 2"**. All you need to take this course are some basic programming skills. If you know variables, loops, and conditional statements, you're good. If you need a quick refresher to get up to speed with Java syntax, you can watch the first part of my Java series....

## YES! I’m ready for my "Mosh Hamedani - The Ultimate Data Structures & Algorithms: Part 2"