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

Binary Tree

1 min read
2 years 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

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.

2 years ago By Mitali Gupta
Searching Algorithm.

Linear Search Algorithm in the Array traverse through each element in the give array and search the elements.

2 years ago By Aniket Prajapati
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.

2 years ago By Mitali Gupta
Web Development as a career !! Web Development as a career !!

Web development offers a fulfilling career designing, developing, and maintaining websites and applications, combining creativity and technical skills in the digital realm.

2 years ago By Mitali Gupta