Was wäre die Zeit Komplexität der Methode unten und warum?Was wäre die zeitliche Komplexität und warum?
Ich weiß, dass es wegen der ersten for-Schleife größer als O (n) sein muss.
Aber was passiert mit der Zeit Komplexität nach der While-Schleife?
Ist es O (n) (n-1) = O (n^2 + n)?
int fnA(int n) {
int sum=0;
for (int i=0; i<n; i++) {
int j=i;
int product =1;
while (j>1) {
product ∗= j ;
j = j/2;
}
sum += product;
}
return sum;
}
Das sieht wie ein Hausaufgabenproblem aus. Was hast du probiert? Die Komplexität ist hier polynomisch und größer als "O (n)". Übrigens macht "O (n^2 + n)" nicht viel Sinn, da asymptotisch "n^2" dominiert, also was Sie in diesem Fall schreiben möchten, ist "O (n^2)". –
@William Ja, es ist eine Prüfungsfrage, auf die ich mich vorbereite. Also ist es O (n^2 + n) und ich habe recht? :) – Naomi
Nun, du bist auf dem richtigen Weg, aber sehe meine Bearbeitung zu dem obigen Kommentar. –