Class CombinationGenerator
- java.lang.Object
-
- com.actelion.research.calc.combinatorics.CombinationGenerator
-
public class CombinationGenerator extends java.lang.Object
CombinationGeneratorCopyright: Actelion Ltd., Inc. All Rights Reserved This software is the proprietary information of Actelion Pharmaceuticals, Ltd. Use is subject to license terms.
- Version:
- 1.0 Oct 12, 2012 MvK: Start implementation
- Author:
- Modest von Korff
-
-
Constructor Summary
Constructors Constructor Description CombinationGenerator()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> java.util.List<java.util.List<T>>
cartesianProduct(java.util.List<java.util.List<T>> lists)
https://en.wikipedia.org/wiki/Cartesian_product generates all possible combinations of elements from a list of listsstatic java.util.List<int[]>
getAllOutOf(int nObjects, int sampleSize)
Get all possible index combinations, order independent.static java.math.BigInteger
getBinomialCoefficient(int n, int k)
Calculate binomial coefficient or n choose kstatic java.util.List<int[]>
getCombinations(java.util.List<int[]> li)
static java.math.BigInteger
getFactorial(int n)
static java.util.List<int[]>
getPermutations(int[] elements, int n)
static void
main(java.lang.String[] args)
-
-
-
Method Detail
-
getAllOutOf
public static java.util.List<int[]> getAllOutOf(int nObjects, int sampleSize)
Get all possible index combinations, order independent. For a list containing the numbers from 0 to nObjects for arrays of the size 'sampleSize'.- Parameters:
nObjects
- so many indices will be permuted.sampleSize
- Size of the array containing the permutations.- Returns:
-
getCombinations
public static java.util.List<int[]> getCombinations(java.util.List<int[]> li)
-
getPermutations
public static java.util.List<int[]> getPermutations(int[] elements, int n)
- Parameters:
elements
-n
-- Returns:
-
cartesianProduct
public static <T> java.util.List<java.util.List<T>> cartesianProduct(java.util.List<java.util.List<T>> lists)
https://en.wikipedia.org/wiki/Cartesian_product generates all possible combinations of elements from a list of lists- Type Parameters:
T
-- Parameters:
lists
-- Returns:
-
getFactorial
public static java.math.BigInteger getFactorial(int n)
-
getBinomialCoefficient
public static java.math.BigInteger getBinomialCoefficient(int n, int k)
Calculate binomial coefficient or n choose k- Parameters:
n
-k
-- Returns:
-
main
public static void main(java.lang.String[] args)
-
-