i have one approach :- first compare root->data and k if k is very much greater than root->data then set next=5or10 ur choice
else set next 2or3 ur choice take two pointers ptr1 and ptr2 now lets take k is much greater than root->data then 1. set ptr1=root //initially 2. if( ptr2=ptr1->next->next.......(5 or 10 times) ) else make linear search till NULL encounter 3. if ptr2->data==k return its position 4. else if (ptr2->data>k) set ptr1=ptr2 goto 2 5. else traverse the ptr1 upto ptr2, if found return its position else return fail if anyone has more efficient solution then pls tell :) On Mon, Jul 18, 2011 at 6:53 PM, Dumanshu <duman...@gmail.com> wrote: > You have a sorted linked list of integers of some length you don't > know and it keeps on increasing. You are given a number k. Print the > position of the number k. > Basically, you have to search for number k in the ever growing sorted > list and print its position. > > Please write the complexity of whatever solution you propose. > > -- > 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. > > -- **Regards SAGAR PAREEK COMPUTER SCIENCE AND ENGINEERING NIT ALLAHABAD -- 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.