desert007 发表于 2013-6-14 17:06:27

subsets的算法是怎么样的

我想用fortran实现mathematica里subset的功能。就是算出所有包含k个元素的子数列。有谁知道怎么处理吗? 先谢过了

chyanog 发表于 2013-6-16 17:27:09

subsets := {{}};
subsets[{}, k_] := {};
subsets[{x_, xs___}, k_] :=
Table[{x}~Join~i, {i, subsets[{xs}, k - 1]}]~Join~subsets[{xs}, k];

subsets, 3] == Subsets, {3}]

Sort@Fold[#~Join~Table &, {{}}, Range] ==
Subsets]
页: [1]
查看完整版本: subsets的算法是怎么样的