设记录数为n,冒泡排序算法在最好情况下所作的比较次数为( )。
【正确答案】:N-1
【题目解析】:
冒泡排序法的过程是:
①首先将第一个记录的键值和第二个记录的键值进行比较,若为逆序(即R[1].key>R[2].key),则将这两个记录交换,然后继续比较第二个和第三个记录的键值。依次类推,直到完成第n-1个记录和第n个记录的键值比较交换为止。上述过程称为第一趟起泡,其结果使键值最大的记录移到了第n个位置上。
②然后再进行第二趟起泡排序,即对前n-1个记录进行同样操作,其结果是次大键值的记录安置在第n-1个位置上。
③重复以上过程,当在一趟起泡过程中没有进行记录交换的操作时,整个排序过程终止。
“最好的情况”就是第一趟起泡就完成了排序,n个数,比较n-1次。