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.