yup, you are right..

On Sat, Dec 10, 2011 at 8:09 PM, AMAN AGARWAL <mnnit.a...@gmail.com> wrote:

> Hi,
>
> After 22 you add 21 so
> 21->left=22->right=null  22->left=21 21->inorder=22.  but here if you draw
> the diagram you will see that inorder successor of 18 will
> now be 21 not 22. I think you have not taken that into consideration.
> Please correct me if I am wrong.
>
> Regards,
> Aman,
>
>
> On Sat, Dec 10, 2011 at 7:37 PM, Piyush Grover 
> <piyush4u.iit...@gmail.com>wrote:
>
>> I don't think so.
>> First you added 15.
>> 15->left = null=15->right=15->succ;
>>
>> add 13. (13 < 15) so
>> 13->left = 13->right = null; 13->succ = 15; 15->left = 13;
>>
>> add 18 (18 > 15) so
>> 18->left = 18->right = null; 18->succ = 15->succ = null; 15->right =
>> 15->succ = 18
>>
>> add 22 (22 > 15) go to 15->right
>> (22 > 18) go to 18-> right
>> 22->left = 22->right = null; 22->succ = 18->succ = null; 18->right =
>> 18->succ = 22;
>> and so on...
>>
>>
>>
>> On Sat, Dec 10, 2011 at 6:49 PM, AMAN AGARWAL <mnnit.a...@gmail.com>wrote:
>>
>>> Hi Piyush,
>>>
>>> I tried with the following data 15,13,18,22,21.  I think your code is
>>> not giving proper inorder succ of node 18.
>>> Please check it.
>>>
>>> Regards,
>>> Aman.
>>>
>>>
>>> On Sat, Dec 10, 2011 at 6:30 PM, Piyush Grover <
>>> piyush4u.iit...@gmail.com> wrote:
>>>
>>>> insertNode(node *head, int value){
>>>>    node *new;
>>>>     if(head == null){
>>>>          new = (node*)malloc(sizeof(node));
>>>>          new->data = value;
>>>>          new->left = new->right = new->inoredrsucc = null;
>>>>          head = new;
>>>>
>>>>     }else{
>>>>            node *root = head;
>>>>            node *l, *r;
>>>>            while(root != null){
>>>>
>>>>                  if(root->data   >    value){
>>>>
>>>>                       l = root; r = null;
>>>>                       root = root->left;
>>>>                  }else{
>>>>
>>>>                       r = root; l = null;
>>>>                       root = root->right;
>>>>                  }
>>>>            } //endwhile
>>>>
>>>>            if(l != null){
>>>>                     new = (node*)malloc(sizeof(node));
>>>>                     new->data = value;
>>>>                     new->left = new->right = null;
>>>>                     new->inordersucc = l;
>>>>                     l->left = new;
>>>>             }else if(r != null){
>>>>                    new = (node*)malloc(sizeof(node));
>>>>                     new->data = value;
>>>>                     new->left = new->right = null;
>>>>                     new->inordersucc = r->inordersucc;
>>>>                     r->inordersucc = new;
>>>>                     r->right = new;
>>>>
>>>>             }
>>>>      }
>>>> }
>>>>
>>>> On Sat, Dec 10, 2011 at 4:04 PM, sayan nayak <sayanna...@gmail.com>wrote:
>>>>
>>>>> @dheeraj: I have one doubt...
>>>>>  during implementation I assumed that inordersuccessor already exists
>>>>> for each node.
>>>>> So  there's no need to track inodersuccessor.
>>>>> Just finding the position is ok.Then u can do the needful to change
>>>>> the inordersuccessor for the parent and the added node.
>>>>> Pls correct me If I'm wrong
>>>>>
>>>>>
>>>>> On Sat, Dec 10, 2011 at 3:43 PM, Dheeraj Sharma <
>>>>> dheerajsharma1...@gmail.com> wrote:
>>>>>
>>>>>> My algorithm is like:
>>>>>>
>>>>>> 1.Take two pointers. one pointer track..where the node should be
>>>>>> inserted..and other..to keep track of inorder successor.
>>>>>>    first pointer=root;
>>>>>>   second pointer=null;
>>>>>>
>>>>>> 2.if the first pointer moves to the left of a particular node(which
>>>>>> becomes its parent)..then the set the value of second pointer=parent.
>>>>>> else
>>>>>> if the first pointer moves to the right of particular node (which
>>>>>> becomes its parent)..the let the value of second pointer as it is..
>>>>>>
>>>>>> finally when the node has been inserted at leaf..set the inorder
>>>>>> successor of the node=second pointer value
>>>>>>
>>>>>> Correct me if am wrong
>>>>>>
>>>>>>
>>>>>> On Sat, Dec 10, 2011 at 3:38 PM, sayan nayak <sayanna...@gmail.com>wrote:
>>>>>>
>>>>>>> hi,
>>>>>>>    here is the code:
>>>>>>> ======================================================
>>>>>>>
>>>>>>> struct node
>>>>>>> {
>>>>>>> int data;
>>>>>>> struct node *left;
>>>>>>> struct node *right;
>>>>>>> struct node *inordersuccessor;
>>>>>>> };
>>>>>>>
>>>>>>> struct node *createnode(int info){
>>>>>>>              struct node* temp;
>>>>>>>              temp->data=info;
>>>>>>>              temp->left=temp->right=temp->inordersuccessor=NULL;
>>>>>>>              return temp;
>>>>>>> };
>>>>>>>
>>>>>>>
>>>>>>> struct node *addNode(struct node *node,int info){
>>>>>>>     struct node* temp=Createnode(info);
>>>>>>>
>>>>>>> if(node==NULL){
>>>>>>>          node=(struct node*)malloc(sizeof(struct node);
>>>>>>> if (node==NULL)
>>>>>>>          fatalerror("Out of space");
>>>>>>> else
>>>>>>>      {   node->data=info;
>>>>>>>          node->left=node->right=node->inordersuccessor=NULL;
>>>>>>>      }
>>>>>>> }
>>>>>>>
>>>>>>> if (node->left==NULL && info<(node->data)){
>>>>>>>          node->left=temp;
>>>>>>>          temp->inordersuccessor=node;
>>>>>>>            }
>>>>>>> else if (node->right==NULL && info>(node->data)){
>>>>>>>
>>>>>>>         node->right=temp;
>>>>>>>         temp->inordersuccessor=node->inordersuccessor;
>>>>>>>         node->inordersuccessor=temp;
>>>>>>> }
>>>>>>> else
>>>>>>>         {
>>>>>>>  if (info<(node->data))
>>>>>>>         node->left=addnode(node->left,info);
>>>>>>>  else
>>>>>>>         node->right=addnode(node->right,info);
>>>>>>>
>>>>>>> }
>>>>>>> return node;
>>>>>>> }
>>>>>>>
>>>>>>> I have run a few test cases..It's working.Pls let me know in case of
>>>>>>> any failure test cases.
>>>>>>> I'm also checking.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Sayan
>>>>>>>
>>>>>>>
>>>>>>> On Sat, Dec 10, 2011 at 1:33 PM, AMAN AGARWAL 
>>>>>>> <mnnit.a...@gmail.com>wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> Construct a BST where each node has 3 pointers instead of 2.
>>>>>>>> the structure is
>>>>>>>> struct node
>>>>>>>> {
>>>>>>>> int data;
>>>>>>>> struct node *left;
>>>>>>>> struct node *right;
>>>>>>>> struct node *inordersuccessor;
>>>>>>>> }
>>>>>>>>
>>>>>>>> write a code to add nodes in a binary search tree .
>>>>>>>> inordersuccessor pointing to inorder successor.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Aman.
>>>>>>>> --
>>>>>>>> AMAN AGARWAL
>>>>>>>> "Success is not final, Failure is not fatal: It is the courage to
>>>>>>>> continue that counts!"
>>>>>>>>
>>>>>>>> --
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "Algorithm Geeks" group.
>>>>>>>> To post to this group, send email to algogeeks@googlegroups.com.
>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>> algogeeks+unsubscr...@googlegroups.com.
>>>>>>>> For more options, visit this group at
>>>>>>>> http://groups.google.com/group/algogeeks?hl=en.
>>>>>>>>
>>>>>>>
>>>>>>>  --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "Algorithm Geeks" group.
>>>>>>> To post to this group, send email to algogeeks@googlegroups.com.
>>>>>>> To unsubscribe from this group, send email to
>>>>>>> algogeeks+unsubscr...@googlegroups.com.
>>>>>>> For more options, visit this group at
>>>>>>> http://groups.google.com/group/algogeeks?hl=en.
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> *Dheeraj Sharma*
>>>>>>
>>>>>>
>>>>>>
>>>>>>  --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "Algorithm Geeks" group.
>>>>>> To post to this group, send email to algogeeks@googlegroups.com.
>>>>>> To unsubscribe from this group, send email to
>>>>>> algogeeks+unsubscr...@googlegroups.com.
>>>>>> For more options, visit this group at
>>>>>> http://groups.google.com/group/algogeeks?hl=en.
>>>>>>
>>>>>
>>>>>  --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Algorithm Geeks" group.
>>>>> To post to this group, send email to algogeeks@googlegroups.com.
>>>>> To unsubscribe from this group, send email to
>>>>> algogeeks+unsubscr...@googlegroups.com.
>>>>> For more options, visit this group at
>>>>> http://groups.google.com/group/algogeeks?hl=en.
>>>>>
>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Algorithm Geeks" group.
>>>> To post to this group, send email to algogeeks@googlegroups.com.
>>>> To unsubscribe from this group, send email to
>>>> algogeeks+unsubscr...@googlegroups.com.
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/algogeeks?hl=en.
>>>>
>>>
>>>
>>>
>>> --
>>> AMAN AGARWAL
>>> "Success is not final, Failure is not fatal: It is the courage to
>>> continue that counts!"
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Algorithm Geeks" group.
>>> To post to this group, send email to algogeeks@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> algogeeks+unsubscr...@googlegroups.com.
>>> For more options, visit this group at
>>> http://groups.google.com/group/algogeeks?hl=en.
>>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Algorithm Geeks" group.
>> To post to this group, send email to algogeeks@googlegroups.com.
>> To unsubscribe from this group, send email to
>> algogeeks+unsubscr...@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/algogeeks?hl=en.
>>
>
>
>
> --
> AMAN AGARWAL
> "Success is not final, Failure is not fatal: It is the courage to continue
> that counts!"
>
> --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to algogeeks@googlegroups.com.
> To unsubscribe from this group, send email to
> algogeeks+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to