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

Overview/Description
Expected Duration
Lesson Objectives
Course Number
Expertise Level

Overview/Description

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.

Expected Duration (hours)
1.4

Lesson Objectives

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

• 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
• Course Number: