1

我有一个问题。我用 Apriori 算法开发了一个程序。在 Apriori 算法中,我必须取排列值。为此

foreach (String s1 in array1) {

foreach (String s2 in array2) {

        String result = s1 + " " + s2 + " " + s3;
        //Processing

}
}

我编码了一些东西。但是这段代码只采用二进制排列。我必须自动采用二进制、三重、四重、五重排列。你有这个想法吗?

4

1 回答 1

2

关联

代码从上面的链接逐字复制。

static IEnumerable<IEnumerable<T>> CartesianProduct<T>(this IEnumerable<IEnumerable<T>> sequences) 
{ 
  IEnumerable<IEnumerable<T>> emptyProduct = new[] { Enumerable.Empty<T>() }; 
  return sequences.Aggregate( 
    emptyProduct, 
    (accumulator, sequence) => 
      from accseq in accumulator 
      from item in sequence 
      select accseq.Concat(new[] {item})); 
}
于 2012-04-04T15:23:05.220 回答