7、冒泡排序的平均时间复杂度为 (n2) ,但最优情况下为O(n) 。

别灰心,再试一次!

💡 真题解析

答案:对

解析:冒泡排序是一种简单的排序算法,它重复地遍历要排序的列表,比较相邻的元素并根据需要交换它们。这个过程会一直进行,直到没有更多的交换为止。

1.平均时间复杂度:冒泡排序在平均情况下的时间复杂度是 O(n2)。这是因为通常情况下算法需要完整地执行完所有的遍历,就需要执行(n-1) + (n-2) + … + 2 + 1 = n*(n-1)/2 次。

2.最优情况:冒泡排序的最优情况发生在列表已经完全有序的情况下。在这种情况下,可以通过增加 flag变量 来判断在第一次遍历过程中是否发生过元素位置交换,这样对于已经排好序的数组在执行完第一次遍历后就可以提前终。因此,最优情况下算法的时间复杂度是 O(n)。

因此,本题的答案为:正确。