FUNCTION
Cycles
Counts the number of cycles in a permutation.
Interface
#include <codecogs/maths/combinatorics/permutations/cycles.h>
using namespace Maths::Combinatorics::Permutations;
Consider the permutation
(1)
A <em> cycle </em> is a sequence of indices such that
(2)
and
(3)
This function calculates the number of cycles in a given permutation, using an efficient algorithm.
Example:
#include <codecogs/maths/combinatorics/permutations/cycles.h>
#include <iostream>
int main()
{
int beta[9] = {2, 3, 9, 6, 7, 8, 5, 4, 1};
std::cout << "The number of cycles of the Beta permutation: ";
std::cout << Maths::Combinatorics::Permutations::cycles(9, beta);
std::cout << std::endl;
return 0;
}
Output:
The number of cycles of the Beta permutation: 3
References
SUBSET, a C++ library of combinatorial routines, http://www.csit.fsu.edu/~burkardt/cpp_src/subset/subset.html
Parameters
n
the size of the permutation
p
the actual permutation stored as an array
Returns
the number of cycles found in the permutation
This function's source code is only visible to registered users — documentation and the calculator above are free to use either way. Sign in to see it.