On 11/07/11 12:07, abhijith reddy wrote:
Wouldn't a heap be ideal for this ?
I thought it might. Do I just need to limit the heap to size 2 * N to avoid storing values I'll never need?
Thanks, John.
On Mon, Jul 11, 2011 at 3:35 PM, John Reid <j.r...@mail.cryst.bbk.ac.uk <mailto:j.r...@mail.cryst.bbk.ac.uk>> wrote: I have a procedure that generates N x M values sequentially. I want to store the N largest ones and discard the others. Obviously I can store all the values in a vector, sort it when it is full and then choose the top N values. Is there a more efficient way using a data structure that just stores the top N values as the procedure goes along? Typically M is 1,000 and N is anywhere from 1,000 to 50,000. I have no prior expectation on how the N largest values are distributed amongst the N x M values. I'm working in C++ with the STL and boost libraries. Thanks for reading this, John. -- 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 <mailto:algogeeks@googlegroups.com>. To unsubscribe from this group, send email to algogeeks+unsubscribe@__googlegroups.com <mailto:algogeeks%2bunsubscr...@googlegroups.com>. For more options, visit this group at http://groups.google.com/__group/algogeeks?hl=en <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.