@Bittu...When we choose low as 2^(n-1) and high as 2^n we are reducing the complexity from O(n) (Linear Search ) to logn (base2) . Here the thing is to apply normal binary search between low and high and thats where we decrease the complexity . If the required element is not in this range we change low=high and high = 2*high and again apply Binary Search. In the code before applying binary search u each time check whether k <a[high] . If not we change low and high else apply binary search here . Ideally the complexity would be lot less than log(n) but since the no is infinite and k can also be taken very very high then say k lies between 2*(10^9) and 4*(10^9) which is a very high number in Itself . n is that very high number
This approach wont work if the infinite array is not sorted Regards Ankur On Mon, Oct 24, 2011 at 7:09 PM, Bittu Sarkar <bittu...@gmail.com> wrote: > @Ankur Don't think there's any major reason for using powers of 2 except > the fact that computing the powers of 2 can be done very efficiently than > computing the powers of any other number. Complexity in any case remains the > same. > > > On 24 October 2011 10:29, rahul sharma <rahul23111...@gmail.com> wrote: > >> +1 ankur >> >> >> On Mon, Oct 24, 2011 at 1:26 AM, Ankur Garg <ankurga...@gmail.com> wrote: >> >>> Use Binary Search >>> >>> start = 2^n-1 high =2^n where n=0,1.... >>> >>> On Mon, Oct 24, 2011 at 12:28 AM, sunny agrawal <sunny816.i...@gmail.com >>> > wrote: >>> >>>> hint 1: try to find 2 indexes i, j such that a[i] <= K <= a[j] >>>> >>>> >>>> On Sun, Oct 23, 2011 at 11:23 PM, Ankuj Gupta <ankuj2...@gmail.com>wrote: >>>> >>>>> Given a sorted array of Infinite size, find an element âKâ in the >>>>> array without using extra memory in O (lgn) time >>>>> >>>>> -- >>>>> 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. >>>>> >>>>> >>>> >>>> >>>> -- >>>> Sunny Aggrawal >>>> B.Tech. V year,CSI >>>> Indian Institute Of Technology,Roorkee >>>> >>>> >>>> -- >>>> 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. >> > > > > -- > Bittu Sarkar > 5th Year Dual Degree Student > Department of Computer Science & Engineering > Indian Institute of Technology Kharagpur > > > -- > 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.