Data Structures in Hindi : Binary Tree Insertion

Binary Tree Insertion

  • Introduction to binary tree insertion in Hindi
  • Example of binary tree insertion in Hindi 

Introduction to Binary Tree Insertion

Binary tree को programmatically struct के द्वारा represent (या create) किया जाता है। इसे linked list representation भी कहा जाता है। इसके बारे में पिछली tutorial (Binary Tree Introduction) में बताया जा चूका है।

एक बार फिर से binary tree (node) create करने के लिए आप जिस syntax का प्रयोग करते है वह निचे बताया जा रहा है।

struct Node
{
     int data;
     struct Node *left-child;
     struct Node *right-child;
}root; 

हालाँकि binary tree को array के द्वारा भी create किया जा सकता है लेकिन memory के बेहतर utilization के लिए ज्यादातर struct द्वारा ही binary tree को create किया जाता है।

Binary tree के अंदर कोई भी नयी node create करने के लिए ऊपर दिए गए struct का variable create किया जाता है। इस struct के जितने variables create किये जाते है उतनी nodes tree की create होती है।

Binary tree को उसकी root node define करके ही create किया जाता है। Root node define करने के बाद आप दूसरी nodes को binary tree में insert कर सकते है।

इसलिए insertion function में आप सबसे पहले यह check करते है की root की value NULL है या नहीं। यदि root की value NU LL होती है root को memory assign की जाती है और उसके data, left और right variables को initialize किया जाता है।

Root node आप इस प्रकार create कर सकते है।

struct Node *root = (struct Node *) malloc(sizeof(struct Node));

Root->data =value;
Root->left-child=NULL;
Root->right-child=NULL;

जैसा की आप देख सकते है ऊपर दिए गए code में Root node create की गयी है। Root node के data section में वह value assign की जाती है जो आप node में store करना चाहते है।

Root node के left और right child में NULL value store की गयी है। Create करते समय किसी भी node के left और right child में null value ही होती है।

इसके बाद आप count variable की value को check करते है। Count एक variable है जो हर नयी node create किये जाने पर increase होता है।

Count की value को 2 के multiple के लिए check किया जाता है। यदि count 2 का multiple होगा तो नयी node left में नहीं तो right में insert की जायेगी।

नयी node insert करने के लिए insert function को recursively call किया जाता है। Insert function को call करते समय उसमे left और right child root के रूप में value के साथ pass किये जाते है।

Example of Binary Tree Insertion 

निचे binary tree में nodes insert करना उदाहरण द्वारा समझाया जा रहा है। 

#include<stdio.h>
#include<malloc.h>

int count =1;
struct Node
{
     int data;
     struct Node *left;
     struct Node *right;
}*root;

void main()
{

    struct Node *treeInsert(struct Node * root, int num)
    {
         if(root == NULL)
         {
              struct Node *root = (struct Node *) malloc(sizeof(struct Node));

              root->data=100;
              root->left = NULL;
              root->right = NULL;
         }
         else
         {
              if(count%2 == 0)
              {
                   root->left = treeInsert(root->left,num);
              }
             else
             {
                  root->right = treeInsert(root->right,num);
             }
       }
        return(root);
}

treeInsert(root,100);

}

ऊपर दिया गया उदाहरण निचे दिया गया output generate करता है।


      DMCA.com Protection Status

 Leave a comment