int currentMinIndex = 0;
for (int front = 0; front < intArray.length; front++)
{
currentMinIndex = front;
for (int i = front; i < intArray.length; i++)
{
if (intArray[i] < intArray[currentMinIndex])
{
currentMinIndex = i;
}
}
int tmp = intArray[front];
intArray[front] = intArray[currentMinIndex];
intArray[currentMinIndex] = tmp;
}
Внутренний цикл итерирует :n + (n -1 )+ (n -2 )+ (n -3 )+... + 1 раз.
Внешний цикл повторяется :n раз.
Таким образом, вы получаете n*(сумма чисел от 1 до n)
Не так ли*(n *(n+1 )/ 2 )= n*((n^2 )+ n/2)
Что будет (n^3 )+ (n^2 )/2 = O (n^3 )?
Я уверен, что делаю это неправильно. Почему не O (n^3 )?