逆序数等于对每个数之后比它小的数的个数求和,也等于对每个数之前比它大的数的个数求和.
我们选择对每个数之后比它小的数的个数求和。该排列是将顺序排列中所有奇数抽出顺序放在最前,偶数顺序留在放在最后构成的。由于偶数顺序,且在最后,偶数不会与其后的数构成逆序对。奇数虽然顺序,但后面还有偶数,随意奇数会与比它小的偶数构成逆序对。所以有
Σ((i-1)/2) (i=1,3,5,......,2n-1) (i-1)/2,显然是比奇数i小的正偶数个数,所以利用简单的等差数列求和,可知逆序数为n*(n-1)/2
(1)中间的省略号表示中间有相同规律的数字,为了方便起见,就不一一列举,用省略号表示了。
(2)逆序数的概念各教材不一样,但都是等价的。我的教材是数每个数前面比它大的数的个数。
2的逆序数为1,
4的逆序数为2,
6的逆序数为3,
……
2n-2的逆序数为n-1,
所以,排列的逆序数为
1+2+3+……+(n-1)
=n(n-1)/2
回答:
可知逆序数为n*(n-1)/2
希望对你有所帮助