## What you will learn

What are binary trees and why are they so important

Linked list and array implementation of a binary tree

Understand essential patterns behind common interview problems

Detailed code implementation and solution of all problems

Intuition through visual explanation of algorithms

Hands on practical experience in a setup free coding environment

## Requirements

This is a complete course and assumes that you know nothing about binary trees but are familiar with some basic foundational topics and data structures in any programming language.

- Basic knowledge of programming in any language
- Basic knowledge of functions and classes
- Basic knowledge of memory management
- You have completed courses on linked list, stacks and queues
- You have completed courses on recursion and backtracking

## Overview

Data structures are used extensively in software development and a binary tree is the most fundamental of all data structures. Irrespective of the language, framework, or system that you use, you will always be using a binary tree in some form or the other.

Representation of a binary tree

### Fundamentals

This course teaches you the fundamentals of a **binary tree **and how it works. It provides you with code implementations and detailed explanations of a binary tree and its operations in the most intuitive way. We go step by step to explore its various functions which will give you a deep insight into this awesome data structure. This will help you gain a thorough understanding of the most important data structure of all.

### Problems Solving

This course is an interactive course with high-quality problems and is deeply focused on problem-solving. It bridges the gap between theoretical concepts and common interview problems by providing detailed explanations of the most common interview problems on a binary tree. This will help you gain confidence and understand how to convert your learning into action. By the end of the course, you will be pretty confident to solve any binary tree problem thrown at you.

## Who this course is for

This course is an all-rounder course and targets a variety of audiences ranging from complete beginners to experienced programmers who want to take their knowledge to the next level. You will greatly benefit from this course if you identify yourself as one of the following

- Non developers who want to start their journey to learn data structures
- Developers who want to get deepest knowledge of binary trees
- Anyone interested in improving their problem solving skills
- Anyone preparing for programming interviews