Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: TIMTOWTDI and other languages

by hding (Chaplain)
on Apr 29, 2002 at 14:12 UTC ( #162829=note: print w/replies, xml ) Need Help??


in reply to TIMTOWTDI and other languages

In either Smalltalk or Common Lisp I'd probably just use the built in intersection facilities. (Respectively):

a intersecton: b. (intersection a b)

Of course the efficiency would depend on how these things are implemented. For the Smalltalk I use (Dolphin) it seems that it just iterates over the elements of a and b. One could coerce one of the collections to a Set first, hoping that the inclusion test would be better (which seems to be the case in Dolphin, which implements Set via a hash.

c := b asSet. a select: [:element | b includes: element].

Similarly for Lisp, if the built-in didn't seem to do the job fast enough, I'd be tempted either to use a hash or sort the lists and walk them (as others have suggested). It may well be that the built-in already uses one of these techniques though, so it's hard to say whether to expect an improvement

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://162829]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (5)
As of 2016-09-25 12:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Extraterrestrials haven't visited the Earth yet because:







    Results (470 votes). Check out past polls.