MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Combinations Dispositions Permutations TREE

  • To: mathgroup at smc.vnet.net
  • Subject: [mg108698] Combinations Dispositions Permutations TREE
  • From: Lele <emanuele.tormene at gmail.com>
  • Date: Sun, 28 Mar 2010 04:06:53 -0500 (EST)

Given a list l of n objects,
I want to choose k elements,
with or without repetitions

I wrote some functions to find the number and the elements of

dispositions
Disp[n_, k_] := n!/(n - k)!;
ElDisp[l_, k_] := Permutations[l, {k}];
DispRip[n_, k_] := n^k;
ElDispRip[l_, k_] := Tuples[l, k];

permutations
Perm[n_] := Disp[n, n];
ElPerm[l_] := Permutations[l, {Part[Dimensions[l], 1]}];

combinations
Comb[n_, k_] := Disp[n, k]/Perm[k];
ElComb[l_, k_] := Subsets[l, {k}];
CombRip[n_, k_] := (n + k - 1)!/((k! (n - 1)!));
ElCombRip[l_, k_] := (m = ElDispRip[l, k]; d = Length[m];   For[i = 1,
i < d, m[[i]] = Sort[m[[i]]], i++]; Union[m]);

1) I am sure it is possible to write my functions really better
2) I would like to write a function able to draw a tree representing
the path going through every k-th step of "fishing" into the list (for
every function).
For example, given the l={a,b,c} , k=2, I would like to draw a
DispositionTree[l,k]

   a -- b
 /    \ c
/
--b -- a
\    \  c
 \
   c -- a
     \ b

Thanks, Lele (I am sorry for my english, my code and my ignorance)


  • Prev by Date: Re: A general problem with numerical functions defined
  • Next by Date: Re: A general problem with numerical functions defined in a messy way
  • Previous by thread: Re: A general problem with numerical functions defined
  • Next by thread: Re: Combinations Dispositions Permutations TREE