# All Classes and Interfaces

Class
Description
Acyclic edge distance treats the permutations as if they represent sets of edges, and counts the number of edges that differ.
Block Interchange Distance is the minimum number of block interchanges necessary to transform one permutation into the other.
Cycle distance is the count of the number of non-singleton permutation cycles between a pair of permutations.
Cycle edit distance is the minimum number of non-singleton permutation cycles necessary to transform permutation p1 into p2.
Cyclic edge distance treats the permutations as if they represent sets of edges, and counts the number of edges that differ.
This class implements the concept of a cyclic independent distance measure.
This class implements the concept of a cyclic independent distance measure.
This class implements the combination of cyclic independence and reversal independence.
This class implements the combination of cyclic independence and reversal independence.
Cyclic RType distance treats the permutations as if they represent sets of directed edges, and counts the number of edges that differ.
Deviation distance is the sum of the positional deviation of the permutation elements.
Normalized Deviation distance is the sum of the positional deviation of the permutation elements divided by N-1 (where N is the length of the permutation).
The original version of Normalized Deviation distance (Ronald, 1998) is the sum of the positional deviation of the permutation elements divided by N-1 (where N is the length of the permutation).
This is an implementation of Wagner and Fischer's dynamic programming algorithm for computing string edit distance, but adapted to permutations rather than general strings.
EditDistance is an implementation of Wagner and Fischer's dynamic programming algorithm for computing string edit distance.
EditDistanceDouble is an implementation of Wagner and Fischer's dynamic programming algorithm for computing string edit distance.
Exact Match distance is an extension of Hamming distance but to non-binary strings, in this case, permutations.
ExactMatch distance (or Hamming Distance) of a pair of non-binary strings (or more generally sequences) is the number of sequence (or string) positions where the two sequences differ.
This is a `RuntimeException` that is thrown by certain methods of the `Permutation` class to indicate that the Permutation object's state is invalid, and any subsequent calls to methods on that object may be unpredictable.
Interchange distance is the minimum number of swaps necessary to transform one permutation into the other.
K-Cycle distance is the count of the number of non-singleton permutation cycles of length at most K.
Kendall Tau distance is sometimes also known as bubble sort distance, as it is the number of adjacent swaps necessary to transform one permutation into the other.
Kendall Tau Sequence Distance is the minimum number of adjacent swaps necessary to transform one sequence into the other.
Lee Distance is closely related to deviation distance.
LongestCommonSubsequenceDistance is a form of EditDistance, where the edit operations are limited to deletions and insertions (i.e., no replacements or changes), and where the cost of an edit operation is simply 1.
Implement this interface to define a distance metric for permutations that supports normalizing the distance to the interval [0,1], but where the base distance is an integer value.
Implement this interface to define a distance metric for permutations that supports normalizing the distance to the interval [0,1].
Representation of a permutation of the integers from 0 to N-1, inclusive.
A functional interface for defining custom binary operators on Permutations.
Implement this interface, PermutationDistanceMeasurer, to define a distance metric for permutations.
Implement this interface, PermutationDistanceMeasurerDouble, to define a distance metric for permutations, where the distance is a floating-point value.
A functional interface for defining custom binary operators on Permutations.
A functional interface for defining custom unary operators on Permutations.
Iterator over all permutations of a specified length, n, of the integers in the interval [0,n).
A functional interface for defining custom unary operators on Permutations.
Reinsertion distance is the count of the number of removal/reinsertion operations needed to transform one permutation into the other.
Reversal Distance is the minimum number of subpermutation reversals necessary to transform one permutation into the other.
This class implements the concept of a reversal independent distance measure.
This class implements the concept of a reversal independent distance measure.
RType distance treats the permutations as if they represent sets of directed edges, and counts the number of edges that differ.
Scramble Distance is the minimum number of random shufflings needed to transform one permutation into the other.
SequenceCompositeSampler generates random samples of array elements, without replacement.
Implement this interface, SequenceDistanceMeasurer, to define a distance metric for sequences.
Implement this interface, SequenceDistanceMeasurerDouble, to define a distance metric for sequences.
SequenceInsertionSampler generates random samples of array elements, without replacement.
SequencePoolSampler generates random samples of array elements, without replacement.
SequenceReservoirSampler generates random samples of array elements, without replacement.
An implementation of the SequenceSampler interface is used for generating random samples of array elements, without replacement.
Squared Deviation distance is the sum of the squares of the positional deviations of the permutation elements.
This class implements the weighted Kendall tau distance.