Limited Period Offer : 20% Discount on online/offline courses, for more details call/whatsapp

Binary Tree

1 min read
1 year ago By Aniket Prajapati

Binary Tree:

A Binary tree is represented by a pointer to the topmost node (commonly known as the “root”) of the tree. If the tree is empty, then the value of the root is NULL. Each node of a Binary Tree contains the following parts: (1) Data. (2) Pointer to left child. (3) Pointer to right child.

Properties of Binary Tree:

  1. The maximum number of nodes at level ‘l’ of a binary tree is 2l:
  2. The Maximum number of nodes in a binary tree of height ‘h’ is 2h – 1:
  3. In a Binary Tree with N nodes, the minimum possible height or the minimum number of levels is Log2(N+1):
  4. A Binary Tree with L leaves has at least | Log2L |+ 1 levels:
  5. In a Binary tree where every node has 0 or 2 children, the number of leaf nodes is always one more than nodes with two children:
  6. In a non-empty binary tree, if n is the total number of nodes and e is the total number of edges, then e = n-1:

Lets create a binary tree with new class .

//creating trees class 


#include<bits/stdc++.h>
using namespace std;

class node{
public:
    int data;
    node* left;
    node* right;
    
    node(int d)
    {
        this->data=d;
        this->left=NULL;
        this->right=NULL;
    }
};

node* buildtree(node* root)
{
    int data;
    cout<<"enter val"<<endl ;
    cin>>data;
    root=new node(data);
    if(data ==-1)
    {
        return NULL;
    }
    
    cout<<"left of"<<data<<endl; 
    root->left=buildtree(root->left);
    cout<<"right of"<<data<<endl; 
    root->right=buildtree(root->right);
    return root;
}

int main(){
    node* root=NULL;
    //creating tree;
    root=buildtree(root);
    return 0 ;
}

To Create a new Tree the complexities are :

Time complexity : O(N) . Space Complexity : O(N) . ,where N is the number of nodes in a binary tree

Jun 24, 2023 21:13 Back to Articles

Other Articles

Arrays Introduction

An array is a continuous block of memory location which can store data of same datatype.

1 year ago By Aniket Prajapati
What is Agile Development ? What is Agile Development ?

Agile development is a software development approach that emphasizes flexibility, collaboration, and continuous delivery. It involves iterative development, continuous feedback, a collaborative approach, adaptability, and continuous improvement.

1 year ago By Mitali Gupta
Real DOM VS Virtual DOM

In this article, we will discuss the differences between the real DOM and the virtual DOM in the context of web development. We'll explore how these concepts impact the performance and efficiency of web applications, and how they contribute to the overall user experience. By the end of this article, you'll have a clear understanding of the distinctions between these two approaches to managing and updating user interfaces on the web.

1 year ago By Mitali Gupta
Introduction to Django

A high-level Python web framework called Django makes it possible for programmers to create web applications rapidly and effectively. It adheres to the Model-View-Controller (MVC) architectural design pattern, placing emphasis on the division of duties and encouraging code reuse. Django offers a comprehensive collection of conventions, frameworks, and tools that speed up development and promote best practises.