问答题
设与记录R
1
,R
2
,…,R
n
对应的关键字分别是K
1
,K
2
,…,K
n
。如果存在R
j
和R
i
,使得j
ij成立,试证明经过一趟起泡后,一定有记录与Ri进行交换。【吉林大学1996四、3 (20/3分)】
【正确答案】正确答案:证明:起泡排序思想是相邻两个记录的关键字比较,若反序则交换,一趟排序完成得到一个最大值或最小值(视正向排序或反向排序而定)。由题假设知R
j
在R
i
之前且K
j
>K
i
,即说明R
j
和R
i
是反序;设对于R
i
之前全部记录R
1
~R
i-1
(其中包括K
j
)中关键字最大为Kmax,则Kmax≥K
i
,故经过起泡排序前i一2次比较后,R
i-1
的关键字一定为Kmax,又因Kmax≥K
i
>R
i
,故R
i-1
和R
i
为反序,由此可知R
i-1
和R
i
必定交换,证毕。