Velocity Reviews > Perl > Circular lists - 26 letters

# Circular lists - 26 letters

sln@netherlands.com
Guest
Posts: n/a

 01-12-2009
I need to permute the 26,25,24,... letters of the alphabet.
How many words can I make with that? Will it take much memory?
How much ram do I need, how long will it take?
Do I need circular lists?

sln

smallpond
Guest
Posts: n/a

 01-12-2009
On Jan 12, 3:35 pm, (E-Mail Removed) wrote:
> I need to permute the 26,25,24,... letters of the alphabet.
> How many words can I make with that? Will it take much memory?
> How much ram do I need, how long will it take?
> Do I need circular lists?
>
> sln

See: Math::Counting::bperm

Jim Gibson
Guest
Posts: n/a

 01-12-2009
In article <(E-Mail Removed)>,
<(E-Mail Removed)> wrote:

> I need to permute the 26,25,24,... letters of the alphabet.

Which alphabet? There are 26 letters in the English alphabet. You can
get an alphabet consisting of 25 letters by eliminating one letter from
the English alphabet. There are 26 ways to do that. You can eliminate 2
letters to get a 24-letter alphabet; there are 26*25 ways to do that.

Given N distinct letters, there are N! permutations formed by selecting
N letters from the set in order. N! = N * (N-1) * (N-2) * ... * 3 * 2 *
1 (but you knew that).

Given N distinct letters, there are N!/(N-M)! different ways to select
M letters in order from N distinct letters (M < N).

<http://en.wikipedia.org/wiki/Permutation>

> How many words can I make with that?

Every word in the English language that does not have repeated letters,
and then some! What is your definition of a "word".

> Will it take much memory?

Not if you generate the permutations one-at-a-time. See, for example,
'perldoc -q permute'

> How much ram do I need,

Not much (see above).

> how long will it take?

A very long time. Enough time to generate

26! + 26! + (26!/2!) + (26!/3!) + (26!/4!) + . . . + (26*25) + 26 + 1

permutations ( or thereabouts -- my math might be off a little). Since
26! is 4.0329E26, you will need about 10**13 years assuming you can
generate and process 1,000,000 permutations per second.

> Do I need circular lists?

No.

--
Jim Gibson

sln@netherlands.com
Guest
Posts: n/a

 01-13-2009
On Mon, 12 Jan 2009 14:56:27 -0800, Jim Gibson <(E-Mail Removed)> wrote:

>In article <(E-Mail Removed)>,
><(E-Mail Removed)> wrote:
>
>> I need to permute the 26,25,24,... letters of the alphabet.

>
>Which alphabet? There are 26 letters in the English alphabet. You can
>get an alphabet consisting of 25 letters by eliminating one letter from
>the English alphabet. There are 26 ways to do that. You can eliminate 2
>letters to get a 24-letter alphabet; there are 26*25 ways to do that.
>
>Given N distinct letters, there are N! permutations formed by selecting
>N letters from the set in order. N! = N * (N-1) * (N-2) * ... * 3 * 2 *
>1 (but you knew that).
>
>Given N distinct letters, there are N!/(N-M)! different ways to select
>M letters in order from N distinct letters (M < N).
>
><http://en.wikipedia.org/wiki/Permutation>
>
>> How many words can I make with that?

>
>Every word in the English language that does not have repeated letters,
>and then some! What is your definition of a "word".
>
>> Will it take much memory?

>
>Not if you generate the permutations one-at-a-time. See, for example,
>'perldoc -q permute'
>
>> How much ram do I need,

>
>Not much (see above).
>
>> how long will it take?

>
>A very long time. Enough time to generate
>
>26! + 26! + (26!/2!) + (26!/3!) + (26!/4!) + . . . + (26*25) + 26 + 1
>
>permutations ( or thereabouts -- my math might be off a little). Since
>26! is 4.0329E26, you will need about 10**13 years assuming you can
>generate and process 1,000,000 permutations per second.
>
>> Do I need circular lists?

>
>No.

Total utteral hogwash, to even reply is ignorance personified!!

sln