comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: Fastest way to list combinations
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: Fastest way to list combinations [message #80820 is a reply to message #80811] Fri, 13 July 2012 14:28 Go to previous messageGo to previous message
Paul Van Delst[1] is currently offline  Paul Van Delst[1]
Messages: 1157
Registered: April 2002
Senior Member
Hello,

On 07/13/12 16:51, antar3s86@gmail.com wrote:
> Hi
>
> I have to solve a problem which includes listing all possible combinations to form a triplet for a given number of objects.
>
> Say you have the objects:
> a,b,c,d,e, so in total 5 which gives you 5!/(2!*3!) = 10 possibilities to list them without any doubles:
>
> abc
> abd
> abe
> acd
> ace
> ade
> bcd
> bce
> bde
> cde
>
> I have solved this problem for any number (well up to some computer limit anyway) in three FOR loops but for large numbers this is rather small...
>
> can you think of a better way than using loops to list all these possibilites?
>
> thanks!!
> :)

Dunno if it's the fastest and/or best way, but have a look at:
http://ftp.emc.ncep.noaa.gov/jcsda/CRTM/idl/
There should be three files.

If you look at the test_combination.pro you will see how to use it.

For example, getting a list of all the combos of three letters from 26:

IDL> t=systime(1) & Test_Combination, 26, 3 & print, systime(1)-t
...lots and lots of output listing the combinations....
22 23 25
22 24 25
23 24 25
Total combinations: 2600
0.032832861
IDL>

You could use this sort of output to generate index arrays to extract your combination of letters from string arrays.

Anyhoo, hope they're useful.

cheers,

paulv

p.s. There may be a native solution for this as well. I wrote those routines a while back... perhaps even as an
exercise. Can't recall.
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Previous Topic: anything new?
Next Topic: Write on p=plot(....) something like a+-b

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Thu Oct 09 14:54:08 PDT 2025

Total time taken to generate the page: 0.64266 seconds