Are there any built-in way to calculate inversions?

5 views (last 30 days)
In Mathematica, there is a built-in function
Inversions
which counts the number of inversions in permutation.
Is there a similar function in Matlab?
Thanks.

Accepted Answer

David Goodmanson
David Goodmanson on 16 Jun 2020
Hi Ivor,
I do not know of one, but here is one way to accomplish it
p = [3 6 1 4 5 2]; % for example
inversions = 0;
for k = length(p):-1:2
f = find(k==p);
inversions = inversions + k -f;
p(f) = [];
end
inversions % the result

More Answers (0)

Categories

Find more on Language Fundamentals in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!