Help with Permutations
- From: "barliow" <jack.c.barlow@xxxxxxxxx>
- Date: 6 Jan 2006 13:52:24 -0800
Hi all,
I'm not mathematically fantastic so I hope this makes sense.
I've written an algorithm to generate all permutations of words from a
given alphabet.
Alphabet:
"abc"
Gives permutations:
a, b, c, ab, ac, ba, bc, ca, cb, abc, acb, bac, bca, cab, cba
In order to keep track of the progress through the algorithm, I need to
be able to calculate the total number of permutations in advance. I can
do this using the following formula:
Number of permutations of size k taken from n objects is:
n!
n_P_k = --------
(n - k)!
So I can calculate the total number of permutations off all lengths as:
P = (3! / (3! - 1!)) + (3! / (3! - 2!)) + (3! / (3! - 3!)) = 15
However, the algorithm is designed to eliminate repeated permutations
that arise as a result of having repeated letters:
Alphabet:
"acc"
Gives permutations:
a, c, ac, ca, cc, acc, cac, cca
This means that the formula above no longer works. I'm wondering if
someone can provide a formula to calculate the total of number of
permutations of *all* lengths that will be outputted in the following
scenarios:
"abc" (should = 15)
"accd" (should = 34)
"acccdde" (uncertain as to what the result should be)
I have also designed the algorithm to allow me to output only the
permutations between a minimum and maximum length. Therefore as an
extension to the formula, I would like to be able to plug in minimum
and maximum length values so that I can still correctly calculate the
number of permutations that will be generated.
I greatly appreciate your input on this matter.
.
- Follow-Ups:
- Re: Help with Permutations
- From: R. S. Tiberio
- Re: Help with Permutations
- From:
- Re: Help with Permutations
- From: quasi
- Re: Help with Permutations
- From: quasi
- Re: Help with Permutations
- From: Robert J. Kolker
- Re: Help with Permutations
- Prev by Date: Re: Euler's Formula
- Next by Date: Re: Help with Permutations
- Previous by thread: lehmer generator
- Next by thread: Re: Help with Permutations
- Index(es):
Relevant Pages
|