Hi.

So can you please tell me the modifications required so it works correctly.

Regards,
Aman.

On Sat, Dec 10, 2011 at 8:22 PM, Piyush Grover <piyush4u.iit...@gmail.com>wrote:

> 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.
>



-- 
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.

Reply via email to