通常,buublesort的运行时间复杂度为O(n^2),但下面给出的算法有一个while循环和for循环for循环取决于n,但while循环只是简单的一个布尔值的检查器。任何人都可以告诉我如何计算此算法的运行时间?Bubble-sort算法的分析
bool done;
done = false;
while (! done)
{
done = true;
for (i = 0 ; i < a.length-1 ; i ++)
{
if (a[i] > a[i+1])
{
// Swap a[i] and a[i+1]
temp = a[i];
a[i] = a[i+1];
a[i+1] = temp;
done = false;
}
}
}