@Gene : nice way of thinking toward the given problem , and now i see
similarity b/w this question and m/m allocation example as you have
mentioned.i didnt think in this way.
:) :)

On Mon, Mar 12, 2012 at 6:35 PM, Gene <gene.ress...@gmail.com> wrote:

> This is nearly what malloc() and similar memory allocators do.  If you
> look at an operating system book or web search you'll get lots of
> approaches.  The overall problem of finding the best allocation is NP
> hard, so you must use some kind of heuristic.  The most common ones
> are called "First fit" and "Best fit".  First fit just keeps a
> persistent pointer into the list of trucks with free space.  When a
> new requirement comes in, the pointer is advanced (with wrapping at
> the end of the list) until the first free block (truck with enough
> space) is found that is bigger than the requirement.  In best fit, the
> smallest free block that is no smaller than the requirement is always
> selected.  In this case you'd normally need a tree or some other
> efficient search structure.  You might think that best fit would get
> better results than first fit, but this often isn't true.  This is
> because best fit tends to leave many free blocks so small that
> requirements can't use them.  For this reason in some cases people
> even use _worst_ fit.  In this case that would be equal to always
> selecting the emptiest truck.  Since he told you there are many
> trucks, this may be the "best" answer.  It's a fast strategy.  Keeping
> track of the trucks by emptiness might be done by maintaining K lists
> of trucks where list i holds trucks with ceiling(100i/K) space
> remaining.
>
> This is a good question because there is no "correct" answer.  The
> interviewer is probably trying to see how you think and approach
> difficult problems.  If you have the opportunity you should ask lots
> of questions: how requests are distributed, whether you can move load
> from one truck to another as a last resort to make free space, etc.
>
>
> On Mar 10, 11:32 am, shruthi sharma <shruthi.shar...@gmail.com> wrote:
> > Hi,
> >
> > Im new to algorithms, so this might be a simple question for most of you
> >
> > Lets say there are 5 trucks, each of which can take 100kg load. And they
> > are filled to some extent randomly.
> > Let the free quantity be 40kg, 30kg, 20kg, 80kg, 60kg respectively. At
> any
> > given time only single load comes.
> > Lets say a load of 25kg comes, we have to select the truck where it fits
> > leaving less free space, here 30kg
> > Now the free quantities are 40, 5, 20, 80 and 60. Next if a load of 10kg
> > comes, we have to select the truck with 20kg free space.
> > and go on...
> >
> > Write a java code for selecting a truck for the above situation when the
> > number of trucks is very large.
> > It should be with least time and space complexity with minimum number of
> > iterations in the loop
> > (interviewer said its part of a very large application which takes huge
> > system resources, so this part of the code should be very efficient)
>
> --
> 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