李均成
【摘要】以代數的方法證明冒泡排序過程中元素的對換次數就是排列的逆序數.
【關鍵詞】冒泡排序;對換次數;排列;逆序數
證明:不失一般性地,以由若干自然數作元素的全排列為例,規定從左到右由小到大為標準次序.
對相鄰元素的對換,考慮如下排列:
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)