@John: It seems that a heap size of N would do the trick. Dave
On Jul 11, 6:11 am, John Reid <j.r...@mail.cryst.bbk.ac.uk> wrote: > 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.- Hide quoted text - > > - Show quoted text - -- 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.