The Ultimate Data Structures & Algorithms: Part 2
Ace your coding job interview. Learn to write better and faster code.
Studied Computer Science  but never really understood the complex topic of data structures and algorithms?
Or maybe you’re a selftaught 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 problemsolving 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.
Packed with the most popular interview questions and stepbystep 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
"I’ve actually landed my first job as a Junior software developer. I owe a lot of it to you because your courses have been EXTREMELY helpful. This has really changed my life from working as a security guard and doing websites for free, now I am a professional."
 Danish Jafri
"Mosh, let me tell you I have been winning the code competitions here in India and excelling in my work and it gives me a great proud to say that you are my teacher. I have purchased every course you have uploaded till now and looking forward to learn everyday with you. Cheers!!"
 Karan Valecha
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 nonlinear 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
 Selftaught 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
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.
Course Curriculum

Preview1 Introduction (0:55)

Preview2 What are Trees (5:36)

Preview3 Exercise Populating a Binary Search Tree

Preview4 Exercise Building a Tree (2:41)

Preview5 Solution insert() (7:44)

Preview6 Solution find() (2:00)

Start7 Traversing Trees (5:58)

Start8 Exercise Tree Traversal

Start9 Recursion (5:39)

Start10 Depth First Traversals (5:23)

Start11 Depth and Height of Nodes (7:06)

Start12 Minimum Value in a Tree (7:37)

Start13 Exercise Equality Checking (0:45)

Start14 Solution Equality Checking (4:08)

Start15 Exercise Validating Binary Search Trees (4:14)

Start16 Solution Validating Binary Search Trees (4:18)

Start17 Exercise Nodes at K Distance (1:48)

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

Start19 Level Order Traversal (2:55)

Start20 Trees Exercises

Start21 Summary (1:22)

Start1 Introduction (0:31)

Start2 Balanced and Unbalanced Trees (3:01)

Start3 Rotations (5:02)

Start4 AVL Trees (4:04)

Start5 Exercise: AVL Rotations

Start6 Exercise Building an AVL Tree (1:11)

Start7 Solution insert() (8:47)

Start8 Exercise Height Calculation (1:24)

Start9 Solution Height Calculation (2:43)

Start10 Exercise Balance Factor (2:04)

Start11 Solution Balance Factor (4:01)

Start12 Exercise Detecting Rotations (2:54)

Start13 Solution Detecting Rotations (3:32)

Start14 Exercise Implementing Rotations (3:51)

Start15 Solution Implementing Rotations (5:40)

Start16 AVL Trees Exercises

Start17 Summary (1:01)

StartA Quick Note
30Day MoneyBack Guarantee
Try it riskfree
You can ask for a refund any time during the first 30 days
if you decide the course isn’t for you.
Frequently Asked Questions
Ace Your Next Coding Interview
Mastering data structures and algorithms is essential to getting your dream job. Don't waste your time browsing disconnected tutorials or super long, boring courses. Enroll in the course to get:
 6 hours of HD videos
 Popular interview questions
 Stepbystep solutions
 Certificate of completion
 Downloadable source code
 Learn at your own pace
 Watch online or offline
 Watch on any device
Join 68928 happy students!
Stop wasting your time jumping from one tutorial to another.
With our amazing reviews and money back guarantee, what are you waiting for?
All courses, one low monthly price!