问题详情

以下关于排序算法的叙述中,正确的是( )。


A、冒泡排序法中,元素的交换次数与元素的比较次数一定相同

B、冒泡排序法中,元素的交换次数不少于元素的比较次数

C、简单选择排序中,关键字相同的两个记录在排序前后的相对位置一定不变

D、简单选择排序中,关键字相同的两个记录在排序前后的相对位置可能交换

时间:2022-01-05 01:59 关键词:

答案解析

D
解析:冒泡排序法的基本思路是:将相邻位置上的关键字进行比较,如果为逆序,则交换,否则继续往下比较,直到序列已经排好。所以,在这个过程中,元素问的比较次数应大于或等于交换次数。简单选择排序算法的思路是:第1趟在n个记录中选择最小的记录,将它与第1个元素交换,第2趟在n-1个基类中选取最小记录,将它与第2个元素交换,依此类推,直到序列的第n个元素为止。在这个过程中,关键字相同的两个记录在排序前后的相对位置可能发生变化。例如,序列为(80,80,40,30)时,选择排序法需要将第1个元素80和最后一个元素30交换,这样就使得两个80的相对位置改变了。