DevCase.Core.Math.Combinatorics Namespace

 

Classes

CombinationCollectionT Combinations defines a meta-collection, typically a list of lists, of all possible subsets of a particular size from the set of values.

This list is enumerable and allows the scanning of all possible combinations using a simple For Each loop.

Within the returned set, there is no prescribed order. This follows the mathematical concept of choose.

For example, put 10 dominoes in a hat and pick 5. The number of possible combinations is defined as "10 choose 5", which is calculated as (10!) / ((10 - 5)! * 5!).

PermutationCollectionT Permutations defines a meta-collection, typically a list of lists, of all possible orderings of a set of values.

This list is enumerable and allows the scanning of all possible permutations using a simple For Each loop.

UtilCombinatorics Contains combinatorics (Combinations, Permutations, Variations) related utilities.

Interfaces

IMetaCollectionT Interface for Permutations, Combinations and any other classes that present a collection of collections based on an input collection.

The enumerators that this class inherits defines the mechanism for enumerating through the collections.

Enumerations

MetaCollectionType Specifies whether or not a CombinationCollectionT or PermutationCollectionT meta-collections will generate repetition sets.