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

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
HashMaps

Hashing is a technique or process of mapping keys, and values into the hash table by using a hash function. It is done for faster access to elements.

1 year ago By Aniket Prajapati
EdKool.com Launches: A New Destination for All Things Education & Technology

We're delighted to announce the launch of EdKool.com, a unique platform designed to bridge the gap between education and technology.

1 year ago By Santosh Kshirsagar
Top 10 Web Frameworks of 2023 Top 10 Web Frameworks of 2023

As technology evolves and new trends arise, the landscape of web frameworks is continually shifting. This article will present the top 10 web frameworks to consider in 2023.

1 year ago By Mitali Gupta