冒泡排序的对换次数与排列逆序数相等的证明
2019-05-08李均成
数学学习与研究 2019年6期
李均成
【摘要】以代数的方法证明冒泡排序过程中元素的对换次数就是排列的逆序数.
【关键词】冒泡排序;对换次数;排列;逆序数
证明:不失一般性地,以由若干自然数作元素的全排列为例,规定从左到右由小到大为标准次序.
对相邻元素的对换,考虑如下排列:
m1,m2,…,mi,a,b,mj,…,mn.(1)
记此排列的逆序数为T1.为使a,b两元素具备对换条件,设a>b,并且m1,m2,…,mi已按冒泡排序的规则排为标准次序.继此对a,b两元素比较大小并对换,排列变为
m1,m2,…,mi,b,a,mj,…,mn.(2)
记此排列的逆序数为T2.对换后,元素m1,m2,…,mi,mj,…,mn的逆序数不变,元素a的逆序数也不变,元素b的逆序数减1.因此,对换后,排列(2)中各元素的逆序数之和(即排列(2)的逆序数)为T2=T1-1,
即a,b两相邻元素对换后,排列的逆序数减1.
对非相邻元素的对换,考虑如下排列:
a,m1,m2,…,mn,b.(3)