@ankit: think u missed heapify..
time complexity is O(n logn)

On Fri, Jun 10, 2011 at 12:55 PM, ankit sambyal <ankitsamb...@gmail.com>wrote:

> Lets say we have 9 numbers from 1 to 10 and one number is missing. We
> hv a RAM which can accomodate only 3 nos.
> 9,6,7,4,3,2,1,5,10
> So, we split the file into 3 smaller files each containing 3 nos.
> File1: 9,6,7
> File2: 4,3,2
> File3: 1,5,10
>
> Now take each file into memory one by one and min heapify
> them and put them back in the memory.
> File1: 6,9,7
> File2: 2,3,4
> File3: 1,5,10
> The 1st element in each file is min in each file.
>
> Now make a file temp containing the 1st element of each file and
> remove the 1st element from the files 1,2 and 3.Min heapify each
> file..
> Temp: 1,6,2
> File1: 7,9
> File2:  3,4
> File3: 5,10
>
> Now remove 1 from file Temp and take element from File3 because 1
> belonged to File3 originally. Again min Heapify them.
> Temp: 2,6,5
> File1: 7,9
> File2:  3,4
> File3: 10
>
> Now remove 2
> Temp: 3,5,6
> File1: 7,9
> File2:  4
> File3: 10
>
> Now remove 3
> Temp: 4,6,5
> File1: 7,9
> File2:
> File3: 10
>
> Now going on this way we will find that after we remove 7, we could
> not find 8. So, 8 is the missing no.
>
>
> Ankit Sambyal
> BITS Pilani
>
>
>
> On Fri, Jun 10, 2011 at 12:11 AM, varun pahwa <varunpahwa2...@gmail.com>
> wrote:
> > can anyone explain "Since there
> > are less than 2^32 numbers in the file there is bound to be one number
> > in the array that is less than 2^16." in dumanshu's solution.
> >
> > On Fri, Jun 10, 2011 at 12:39 PM, varun pahwa <varunpahwa2...@gmail.com>
> > wrote:
> >>
> >> @ankit :please explain by taking an example.
> >>
> >> On Fri, Jun 10, 2011 at 12:13 PM, Vetri Balaji <vetribal...@gmail.com>
> >> wrote:
> >>>
> >>> @ankit: pls explain the time complexity..
> >>> i dont think its O(log n)
> >>>
> >>> On Thu, Jun 9, 2011 at 11:57 PM, ankit sambyal <ankitsamb...@gmail.com
> >
> >>> wrote:
> >>>>
> >>>> @Dumanshu:  In each iteration, we r removing the smallest number. If
> >>>> at any iteration we can't find the next smallest no., it means that
> >>>> no. is missing.....
> >>>>
> >>>>
> >>>>
> >>>> On Thu, Jun 9, 2011 at 10:54 AM, Dumanshu <duman...@gmail.com> wrote:
> >>>> > hey... we have 300 million (9- digit) numbers. So we have to print a
> >>>> > number which isn't already there in the file.
> >>>> > We are not given that number beforehand. You are saying to check "u
> >>>> > are going to check whether a number N exist ".
> >>>> >
> >>>> > On Jun 9, 4:46 pm, radha krishnan <radhakrishnance...@gmail.com>
> >>>> > wrote:
> >>>> >> Ma approach is to xor the given number with all numbers in the file
> >>>> >> !!
> >>>> >> This takes O(n)
> >>>> >> I think we cant achieve a complexity <O(n)
> >>>> >> we have to scan the file at least once
> >>>> >>
> >>>> >> Or move to this problem
> >>>> >> Instead of a file with numbers
> >>>> >> you have a stream of numbers
> >>>> >>
> >>>> >> Create a Trie and insert every number from the stream by reversing
> >>>> >> the
> >>>> >> digits of the number
> >>>> >> Now u have a Trie (left as 0 bit && right as 1 bit )
> >>>> >>
> >>>> >> u are going to check whether a number N exist
> >>>> >> reverse the bits of N
> >>>> >> search for appropriate bit in the Trie
> >>>> >> if all bit are matched then there is a number !!
> >>>> >> else No
> >>>> >>
> >>>> >> But Space Complexity Of Trie is high  we need (32 *(O(n)) assuming
> >>>> >> each
> >>>> >> integer is of 32 bits
> >>>> >>
> >>>> >>
> >>>> >>
> >>>> >>
> >>>> >>
> >>>> >>
> >>>> >>
> >>>> >> On Thu, Jun 9, 2011 at 4:54 PM, Dumanshu <duman...@gmail.com>
> wrote:
> >>>> >> > Given a file containing roughly 300 million social security
> >>>> >> > numbers(9-
> >>>> >> > digit numbers) find a 9-digit number that isnt there in the file.
> >>>> >> > You
> >>>> >> > have unlimited drive space but only 2mb of RAM.
> >>>> >>
> >>>> >> > Solution is as follows:
> >>>> >> > In the first step, we build an array of 2^16 integers that is
> >>>> >> > initialized to 0 and for every number in the file we take its 16
> >>>> >> > most
> >>>> >> > significant
> >>>> >> > bit to index into this array and increment that number. Since
> there
> >>>> >> > are less than 2^32 numbers in the file there is bound to be one
> >>>> >> > number
> >>>> >> > in the array that is less than 2^16 . This tells us that there is
> >>>> >> > at
> >>>> >> > least one number missing among the possible numbers with those
> >>>> >> > upper
> >>>> >> > bits. In the second pass, we can focus only on the numbers that
> >>>> >> > match
> >>>> >> > this criterion and use a bit-vector of size 2^16 to identify one
> of
> >>>> >> > the missing numbers.
> >>>> >>
> >>>> >> > Someone plz explain this solution( may be using some small values
> >>>> >> > numbers) or suggest another approach.
> >>>> >>
> >>>> >> > --
> >>>> >> > 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.
> >>>>
> >>>
> >>> --
> >>> 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.
> >>
> >>
> >>
> >> --
> >> Varun Pahwa
> >> B.Tech (IT)
> >> 7th Sem.
> >> Indian Institute of Information Technology Allahabad.
> >> Ph : 09793899112 ,08011820777
> >> Official Email :: rit2008...@iiita.ac.in
> >> Another Email :: varunpahwa.ii...@gmail.com
> >>
> >> People who fail to plan are those who plan to fail.
> >>
> >
> >
> >
> > --
> > Varun Pahwa
> > B.Tech (IT)
> > 7th Sem.
> > Indian Institute of Information Technology Allahabad.
> > Ph : 09793899112 ,08011820777
> > Official Email :: rit2008...@iiita.ac.in
> > Another Email :: varunpahwa.ii...@gmail.com
> >
> > People who fail to plan are those who plan to fail.
> >
> > --
> > 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.

Reply via email to