[PRL] Re: [plt-internal] cisco router problem

Shriram Krishnamurthi sk at cs.brown.edu
Wed Jan 14 16:06:04 EST 2004


I suppose the entire history of algorithmics isn't enough as a source
of examples? (-:

Shriram

Matthias Felleisen wrote:

> Close. The reason I am pushing him is to get a cute little example for 
> 212 students. Here is something you can design.  Let's stress. Hah, 
> it's too slow, and it's not Java's fault. How can we do better?
> 
> If we can find four or five more things like this, 212's O stuff 
> becomes more interesting and accessible to students.
> 
> -- Matthias
> 
> 
> On Wednesday, January 14, 2004, at 03:27 PM, Mitchell Wand wrote:
> 
> > I'm assuming the following is a reasonable abstraction of the problem:
> >
> > Given two long lists of integers (possibly with duplicates), one much
> > longer than the other, find their intersection.
> >
> > Doing intersection (or DB join) is usually a n^2 problem.
> >
> > Some standard solutions:
> >
> > 1.  Read the big list once and the smaller list many times.  I'm
> >     guessing he's already thought of this.
> >
> > 2.  Keep the lists sorted.  That way it turns into a O(n) problem.  If
> >     you have to sort the lists, that makes it O(n log n).
> >
> > 3.  Preprocess the smaller list once to get a hashtable of possible
> >     hits.  That way you only scan through the small list for big-list
> >     elements
> >
> > 4.  Indices are Good Things. (Generalization of #3).
> >
> > --Mitch


More information about the PRL mailing list