Know the basics of C++ and want to further sharpen your skills? Then follow along with C++ expert Advait Jayant in his next course in the C++ Algorithm Series, and master how to work with binary trees and binary search trees.

If you need to first develop a fundamental knowledge of C++, watch this excellent video on C++. Also, click here for all of Advait Jayant’s highly-rated videos on O’Reilly, including the full C++ Algorithm Series.

The following 18 topics will be covered through a combination of lecture and hands-on to maximize your learning of stacks and queues in C++:

**Introducing Binary Trees in C++**. This first topic in the C++ Binary Trees and Binary Search Trees course explains the concept of a binary tree in C++. A binary tree is a tree-like data structure in which each node in the tree can have at most two children. Binary tree concepts including root, node, sibling, ancestor, descent, and leaf are covered as well.**Implementing a Binary Tree in C++**. This second topic in the C++ Binary Trees and Binary Search Trees course explains how to implement a binary tree in C++ using recursion. Advait explains how to create the root node and then recursively create the left and then right subtrees. Learn how to print the nodes in a preorder fashion. Follow along with Advait in this hands-on session.**Performing Inorder Traversal on a Binary Tree in C++**. This third topic in the C++ Binary Trees and Binary Search Trees course explains how to perform inorder traversal on a binary tree in C++. Follow along with Advait in this hands-on session.**Performing Postorder Traversal on a Binary Tree in C++**. This fourth topic in the C++ Binary Trees and Binary Search Trees course explains how to perform postorder traversal on a binary tree in C++. Follow along with Advait in this hands-on session.**Performing Level Order Traversal on a Binary Tree in C++**. This fifth topic in the C++ Binary Trees and Binary Search Trees course explains how to perform level order traversal on a binary tree in C++. Follow along with Advait in this hands-on session.**Performing the Breadth First Search Approach on an Entire Binary Tree in C++**. This sixth topic in the C++ Binary Trees and Binary Search Trees course explains how to perform the breadth first search (BFS) traversal on an entire binary tree in C++. Follow along with Advait in this hands-on session.**Performing the Breadth First Search Level By Level on a Binary Tree in C++**. This seventh topic in the C++ Binary Trees and Binary Search Trees course explains how to perform a BFS approach on a binary tree level by level in C++. Follow along with Advait in this hands-on session.**Counting Nodes in a Binary Tree in C++**. This eighth topic in the C++ Binary Trees and Binary Search Trees course explains how to count the number of nodes in a binary tree in C++. Follow along with Advait in this hands-on session.**Summing Nodes in a Binary Tree in C++**. This ninth topic in the C++ Binary Trees and Binary Search Trees course explains how to sum the nodes in a binary tree in C++. Follow along with Advait in this hands-on session.**Determining the Diameter of a Binary Tree in C++**. This tenth topic in the C++ Binary Trees and Binary Search Trees course explains how to calculate the diameter of a binary tree in C++. The diameter is the largest distance between any two nodes in a binary tree. Follow along with Advait in this hands-on session.**Performing an Optimized Approach to Calculating the Diameter of a Binary Tree in C++**. This 11th topic in the C++ Binary Trees and Binary Search Trees shows you how to perform an optimized approach to calculating the diameter of a binary tree in C++. Follow along with Advait in this hands-on session.**Introducing the Height Balanced Binary Tree in C++**. This 12th topic in the C++ Binary Trees and Binary Search Trees course explains the height balanced binary tree in C++. Follow along with Advait in this hands-on session.**Building a Height Balanced Binary Tree from an Array in C++**. This 13th topic in the C++ Binary Trees and Binary Search Trees course illustrates how to build a height balanced binary tree from an array in C++. Follow along with Advait in this hands-on session.**Performing Sum Replacement in a Binary Tree using C++**. This 14th topic in the C++ Binary Trees and Binary Search Trees course explains how to replace the data at each node with the sum of its subtrees. Follow along with Advait in this hands-on session.**Introducing Binary Search Trees in C++**. This 15th topic in the C++ Binary Trees and Binary Search Trees course explains the concept of a binary search tree (BST) and the BST’s advantage over a binary tree. In a BST, all of the elements that are lesser than the current node will be in the left subtree of the node, and all of the elements that are greater than the current node will be in the right subtree of the node. Follow along with Advait in this hands-on session.**Implementing a Binary Search Tree in C++**. This 16th topic in the C++ Binary Trees and Binary Search Trees course explains how to implement a binary search tree and insert nodes into the tree. Follow along with Advait in this hands-on session.**Searching within a Binary Search Tree in C++**. This 17th topic in the C++ Binary Trees and Binary Search Trees course shows you how to search within a binary search tree and how to use a Boolean function to assist with the search. Follow along with Advait in this hands-on session.**Deleting within a Binary Search Tree in C++**. This 18th topic in the C++ Binary Trees and Binary Search Trees course shows you how to delete nodes within a binary search tree in C++. Follow along with Advait in this hands-on session.

- Introducing Binary Trees in C++ 00:06:49
- Implementing a Binary Tree in C++ 00:16:46
- Performing Inorder Traversal on a Binary Tree in C++ 00:07:35
- Performing Postorder Traversal on a Binary Tree in C++ 00:05:47
- Performing Level Order Traversal on a Binary Tree in C++ 00:15:31
- Performing the Breadth First Search Approach on an Entire Binary Tree in C++ 00:07:52
- Performing the Breadth First Search Level By Level on a Binary Tree in C++ 00:06:17
- Counting Nodes in a Binary Tree in C++ 00:03:38
- Summing Nodes in a Binary Tree in C++ 00:03:45
- Determining the Diameter of a Binary Tree in C++ 00:08:36
- Performing an Optimized Approach to Calculating the Diameter of a Binary Tree in C++ 00:09:37
- Introducing the Height Balanced Binary Tree in C++ 00:08:38
- Building a Height Balanced Binary Tree from an Array in C++ 00:10:06
- Performing Sum Replacement in a Binary Tree using C++ 00:09:07
- Introducing Binary Search Trees in C++ 00:06:21
- Implementing a Binary Search Tree in C++ 00:11:26
- Searching within a Binary Search Tree in C++ 00:05:38
- Deleting within a Binary Search Tree in C++ 00:15:14