问答题 设与记录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 必定交换,证毕。
【答案解析】