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.