//considering node who's cousins need to be find as start.. node * a[10]; while(root!=start) { a[i]=root; i++; if(root->data> start->data) root=root->left; else root=root->right; }//we can do this using recursion
node *grand=a[i-2]; if(start->data> grand->data) print(grand->left->left->data,gramd->left->right->data) else print............................... I may be wrong I am new to coding.. On Monday, 21 May 2012 21:44:56 UTC+5:30, mithun wrote: > > Shouldn't having 2 queues one storing the node and other corresponding > level should be sufficient and do level order traversal? > > -mithun > > > > > On Mon, May 21, 2012 at 5:54 PM, Ashish Goel <ashg...@gmail.com> wrote: > >> bool firstCousins(struct node * pRoot, struct node *pThis, (struct >> node*)[] path, int pos, vector<int> firstCousins) >> { >> if ((!pThis) || (!pRoot)) return false; >> if (pRoot->data!=pThis->data) { >> path[pos] = pRoot; >> if (!findCousins(pRoot->left, pThis, path, pos+1, firstCousins)) >> return findCousins(pRoot->left, pThis, path, pos+1, firstCousins); >> } >> if (pos<2) return false; //this node is at level 0 or level 1 >> struct node* pGP = path[pos-2]; >> struct node *pParent = path[pos-1]; >> struct node *pUncle = NULL; >> if (pParent == pGP->left) >> { >> pUncle = pGP->right; >> }else pUncle = pGP->left; >> if (pUncle->left) firstCousins.add(pUncle->left->data); >> if (pUncle->right) firstCousins.add(pUncle->right->data); >> return true; >> } >> >> >> Best Regards >> Ashish Goel >> "Think positive and find fuel in failure" >> +919985813081 >> +919966006652 >> >> >> On Mon, May 21, 2012 at 5:41 PM, Ashish Goel <ashg...@gmail.com> wrote: >> >>> For this the cousins of 1 should be 9 8 12 13 14 15 .... how >>> then can it be a 2 pass algorithm... we should also consider great >>> grandparent as in this case ... Correct me if I m wrong!! >>> >>> the first cousins are 9,8 not 12,13...otherwise the question becomes >>> really simple :) >>> >>> Best Regards >>> Ashish Goel >>> "Think positive and find fuel in failure" >>> +919985813081 >>> +919966006652 >>> >>> >>> On Mon, May 21, 2012 at 12:54 PM, sivaviknesh <sivavikne...@gmail.com>wrote: >>> >>>> For this the cousins of 1 should be 9 8 12 13 14 15 .... >>>> how then can it be a 2 pass algorithm... we should also consider great >>>> grandparent as in this case ... Correct me if I m wrong!! >>> >>> >>> >> -- >> 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 view this discussion on the web visit https://groups.google.com/d/msg/algogeeks/-/qqG_yzwRUhgJ. 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.