24(2n)13(2n-1)的逆序数怎么求?

2022-03-29 教育 375阅读

在数列中按顺序

后面的数比1小的数有0个;

后面的数比3小的数有1个,为2;

后面的数比5小的数有2个,为4,2;
...

后面的数比2n-1小的数有n-1个,为2n-2,...4,2;

后面的数比2n小的数有n-1个,为2n-2,...4,2;

后面的数比2n-2小的数有n-2个,为2n-4,...4,2;
...
后面的数比4小的数有1个,为2;

后面的数比2小的数有0个.

所以逆序数为0+1+2+...+n-1+n-1+...+1+0=2*(1+n-1)*(n-1)/2=n(n-1)

逆序数为偶数的排列称为偶排列;逆序数为奇数的排列称为奇排列。如2431中,21,43,41,31是逆序,逆序数是4,为偶排列。

扩展资料:

计算:

计算一个排列的逆序数的直接方法是逐个枚举逆序,同时统计个数。例如在序列{2,4,3,1}中,逆序依次为(2,1),(4,3),(4,1),(3,1),因此该序列的逆序数为4。

VisualBasic 6.0编写的示例使用的就是直接计数的方法,函数NiXushu返回一个字符串的逆序数。

PrivateFunctionNiXuShu(ByVallAsString)AsLong'逆序数计算

DimiAsInteger,jAsInteger,cAsLong

Dimn()AsInteger

ReDimn(Len(l))

Fori=1ToLen(l)

n(i)=Val(Mid(l,i,1))

Forj=1Toi-1

Ifn(i)

c=c+1

EndIf

Nextj

Nexti

NiXuShu=c

EndFunction

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com