# Advanced Data Structures & Algorithms in Java: Solving Binary Tree Problems

Java SE 13    |    Intermediate
• 18 Videos | 1h 32m 57s
• Includes Assessment
Likes 6
Binary trees are commonly used data structures in programming interviews. It's essential you know how to solve binary tree problems such as counting the number of nodes in a tree, finding the maximum depth of a tree, and mirroring a binary tree using robust, recursive solutions. In this course, you'll solve some common interview-style problems using binary trees, such as how to use a recursive algorithm to count the number of nodes in a binary tree, calculate the maximum depth of a tree, sum up the values of nodes along a path, and mirror a binary tree. Finally, you'll explore different kinds of binary trees, namely the full binary tree, the complete binary tree, the perfect binary tree, and the balanced binary tree.

## WHAT YOU WILL LEARN

• discover the key concepts covered in this course recognize how the recursive algorithm to count nodes works write code to implement the count nodes algorithm recognize how the maximum depth of a binary tree is calculated calculate the maximum depth of a binary tree explain how the sum of nodes along a path can be computed compute and check to see whether a path with a certain sum exists describe the original binary tree and its mirror implement the mirroring of a binary tree
• recognize a full binary tree write code to check whether a binary tree is full recognize a perfect binary tree write code to check whether a binary tree is perfect recognize a complete binary tree write code to check whether a binary tree is complete recognize a balanced binary tree write code to check whether a binary tree is balanced summarize the key concepts covered in this course

## IN THIS COURSE

• 1.
Course Overview
• 2.
Count Nodes in a Binary Tree
• 3.
Implementing Count Nodes
• 4.
Maximum Depth of a Binary Tree
• 5.
Calculating the Maximum Depth
• 6.
Summing The Nodes Along a Path in a Binary Tree
• 7.
Checking for Path Sum
• 8.
Mirroring a Binary Tree
• 9.
Implementing Mirroring
• 10.
Full Binary Tree
• 11.
Checking Whether a Binary Tree Is Full
• 12.
Perfect Binary Tree
• 13.
Checking Whether a Binary Tree Is Perfect
• 14.
Complete Binary Tree
• 15.
Checking Whether a Binary Tree Is Complete
• 16.
Balanced Binary Tree
• 17.
Checking Whether a Binary Tree Is Balanced
• 18.
Course Summary