Обычно сложность рабочего времени buublesort равна O (n^2), но приведенный ниже алгоритм имеет цикл while и цикл for, цикл for зависит от n, но цикл while просто проверитель для логического значения. Может ли кто-нибудь сказать мне, как бы я вычислил время работы этого алгоритма?Анализ алгоритма сортировки пузырьков
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;
}
}
}