Class CombinationGenerator


  • public class CombinationGenerator
    extends java.lang.Object
    CombinationGenerator

    Copyright: 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
    • 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 lists
      static 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 k
      static 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)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CombinationGenerator

        public CombinationGenerator()
    • 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)