Quale sarebbe l'ordine di crescita del codice qui sotto. La mia ipotesi era che la crescita di ogni loop fosse lineare ma l'affermazione if mi confondeva. Come includo ciò con il tutto. Gradirei molto una risposta esplicativa in modo da poter comprendere il processo in questione.Ordine di crescita per loop
int count = 0;
for (int i = 0; i < N; i++)
for (int j = i+1; j < N; j++)
for (int k = j+1; k < N; k++)
if(a[i] + a[j] + a[k] == 0)
count++;
(La (mancanza di) commenti e indentazione delle linee di codice lasciano dubbi su cosa dovrebbe fare.) Si prega di essere espliciti riguardo a '[guess] la crescita di ogni ciclo è lineare'. Qual è la tua domanda? Hai una dichiarazione il cui costo può essere considerato costante, come il suo controllo. Questo è in un ciclo annidato triplo: cosa succede se tutti i loop sono passati da 0 a N? Cosa succede in caso di valori iniziali dall'alto? – greybeard