一个很好的算法,用于生成包含重复的n个元素的所有k-排列的矩阵?

时间:2015-12-01 22:49:38

标签: r algorithm permutation

所以,假设我设置了S = {A1,A2},我想以3个为一组计算这两个元素的所有可能排列。

我想生成一个像这样的矩阵:

(A1 A1 A2)
(A1 A2 A1)
(A2 A1 A1)
(A2 A2 A1)
(A2 A1 A2)
(A1 A2 A2)

我正在使用R语言。我一直试图找到一些算法来生成这样的矩阵,但到目前为止还没有成功。

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

获得所有排列的一种方法是使用unique_ptr

expand.grid

根据@ Forest1的建议,您可能希望排除第一行和最后一行,因为它们包含a <- c("A", "B") expand.grid(a, a, a) # Var1 Var2 Var3 # 1 A A A # 2 B A A # 3 A B A # 4 B B A # 5 A A B # 6 B A B # 7 A B B # 8 B B B AAA。这可以通过

来实现
BBB