for(int i = 0; i < n; i++) {
for(int j = 0; j < i; j++){
//do swap stuff, constant time
}
}
Я прочитал, что одиночный цикл является O (N) и перемещения его в два раза будет делать это O (N^2) Я наблюдал, связанные учебники, которые показывают, что каждая операция принимает блок 1 - O (1). Я хотел бы увидеть подробно, как O (n^2) действительно подошел. Я пытался сделать математику для каждого заявления, но я считаю, что я не делаю это правильно. Я был бы признателен, если бы кто-то мог в буквальном смысле показать мне, как вложенные для цикла становятся O (n^2). Благодаря заранееВложенный цикл в Большой Oh Сложность
У вас есть N элементов, каждый с 1 операцию и для каждой операции вы делаете N больше операций. – Hristo
Внутренний цикл будет работать: '1 + 2 + 3 + 4 + ... + n = n (1 + n)/2 => O (n^2)' – alfasin
@alfasin Не могли бы вы быть более конкретными с вашей ответ ? –