void f(int n)
{
for(int i =1; i<=n; i++){
if(i % (int)sqrt(n)==0){
for(int k=0; k< pow(i,3); k++){
//do something
}
}
}
}
Mein Denkprozess: Anzahl der Male ausführen if-Anweisung: Summe i = 1 bis n (theta (1)).Zeitkomplexität von Verschachtelte For-Schleife mit Wenn
Anzahl von Malen auszuführen Dinge im Innern, wenn: Summe i = 1 bis sqrt (n) (für loop)
Anzahl von Malen zum Schleifen auszuführen: sum k = 0 bis i^3 (theta) (1) = i^3
Das gibt mir: Theta (n) + Summe i = 0 bis sqrt (n) (Theta (i^3)) = theta (n) + theta (n^2)
die mich Theta (n^2)
Die gab er Antwort Schlüssel gibt, ist Theta (n^3,5)
Ich frage mich nur, ob ich einen Fehler in meinem Denkprozess gemacht habe. Ich habe meinen Professor zweimal nach dieser Frage gefragt. Ich will nur sehen, ob es etwas gibt, das ich nicht gesehen habe, bevor ich ihn wieder belästige. Danke!