Я знаю, что сортировка вставок должна быть наихудшей O (n ^ 2), но мне интересно, почему следующая реализация не O (n).
void main()
{
//insertion sort runs from i = 1 to i = n, thus is worst case O(n)
for (
int i = 1,
placeholder = 0,
A[] = { 10,9,8,7,6,5,4,3,2,1 },
j = i;
i <= 10;
j-- > 0 && A[j - 1] > A[j]
? placeholder = A[j], A[j] = A[j - 1], A[j - 1] = placeholder
: j = ++i
)
{
for (
int x = 0;
x < 10; x++
)
cout << A[x] << ' ';
cout << endl;
}
system("pause");
}
Существует толькоздесь задействован один цикл for, и он работает от 1 до n.Мне кажется, что это будет определение O (n).Что именно мне здесь не хватает?