# Complete course on Tree – Data Structures

Learn how to implement and how to solve problems on Binary Tree in the simplest way!

Language: english

Note: 4.9/5 (28 notes) 10,557 students

Instructor(s): Sujithkumar MA

Last update: 2021-07-03

## What you’ll learn

• Binary Tree Implementation
• Advanced Data Structures

## Requirements

• Yes, A basic knowledge in Programming and Linear Data Structures

## Description

Welcome to my crash course on Binary Trees which is one of the pivotal concepts in Advanced Data Structures and Algorithms!

In this course, we’ll learn

1. What is Recursion? (Recursion is a prerequisite and a very useful tools to implement binary Trees)

2. Tricks to write recursive functions!

3. Tracing recursive functions

4. Converting an iterative solution to a recursive solution.

5. Basic Tree terminologies

6. Implementation of Binary Trees using LinkedLists

7. The basic traversal algorithms – How to code them?

8. Finding the height of the Tree – Algorithm, Code, Tracing.

9. How to find the Maximum and Minimum elements of a tree?

10. Finding the sum of all nodes in a tree

11. Level Order Traversal – Using Brute Force Approach and Improved Solution using Queue Data Structure.

12. Printing the left View of a Binary Tree

13. Printing the Right View of a Binary Tree

14. Understanding Hashmaps in C++ STL

15. Implementation of Vertical Order Traversals using Hashmaps

16. Printing all the leaf nodes of a Binary Tree using any one of the Traversal algorithms.

17. Printing the cousin nodes of a node in a Binary Tree.

18. Binary Search Trees – Explanation

Through these standard Tree problems, you’ll easily be familiarized on implementing Trees in C or C++. Some ideas were also provided to implement the same using some other languages using Python too. So, if you’re not comfortable in using C or C++, It’s not a problem 🙂

## Who this course is for

• Beginner Programmers

## Course content

• Prerequisite – Recursion
• What are Trees?
• 1.Understanding Recursion with an example
• 2.Example 2 for Recursion – Tracing the output
• 3.Tricks to write recursive functions !
• 4. How to convert an iterative solution into a recursive solution
• Introduction to Trees
• 5. Tree and its Terminologies
• 6. Introduction to Binary Trees
• Implementation of Binary Trees in Cpp
• 7. Implementation of Binary Trees in C,C++
• 7.1. Implementation of Binary Trees in C,C++ – II
• 7.2. Program of Binary Trees in C,C++ – III
• Implementing Traversal Algorithms of Binary Tree
• 8. Pre Order Traversal of Binary Trees
• 9. Working out the Post Order Traversal of Binary Trees
• 10. Working out the Inorder Traversal of Binary Trees
• 11. Concrete Implementation of Post Order Traversal in C++
• 12. Concrete Implementation of Pre Order Traversal in C++
• 13. Concrete Implementation of In Order Traversal in C++
• Problems on Binary Trees
• 14. Algorithm to find the height of the tree
• 15. Algorithm to find the sum of all the nodes in a tree
• 16. Tracing the code to find the sum of all nodes in a tree
• 17. Finding the maximum node of a binary tree
• 18. Finding the minimum node of a binary tree
• 19. Level Order Traversal without using Queue – Brute Force Approach
• 20. Deriving LOT using queue algorithm
• 21. Coding the Level Order Traversal algorithm using Queues
• 22. Left View and Right View of a Tree
• 24. Understanding the algorithm to perform Vertical Order Traversal of a Binary
• 25. Tracing the algorithm to perform Vertical Order Traversal of a Binary tree
• 26. Printing all the leaf nodes of a Binary Tree
• 27. Printing the cousins of a node in a Binary Tree
• Introduction to BST  