0

Click here to check question imageMit dieser Funktion kann die Laufzeit

Hallo, ich habe diese Frage nicht analysieren, aber ich habe falsch und ich das einfach nicht verstehen. Es geht darum, die exakte Laufzeit dieser verschachtelten Schleife zu erhalten.

Konkret kann ich bis "für i = 2, innere Schleife Laufzeit: 2n-2" verstehen. Aber danach kann ich es nicht verstehen.

Frage 1)

Zuerst sagt er For i=n, inner loop runtime is n+1. Aber das ergibt aus meiner Sicht keinen Sinn. Nehmen wir an, n = 3 und die äußere Schleife führt ihre letzte Schleife aus, wenn i = 3, dann wird j die innere Schleife dreimal durchlaufen (von 3 bis 5, da j = 3 = n < 2 * n = 2 * 3 = 6). Antwort sagt aber inner loop runtime is n+1, wenn ich 3 in n+1 stelle, wird es 4 Mal. Ich verstehe nicht, warum diese Antwort richtig ist.

Frage 2)

Wie kann ich letzte Form der Antwort 1.5n^2 + 0.5n von 2n+(2n-1)+(2n-2)+...+(n+1) bekommen? Kannst du mir allgemeine Schritte zeigen, wie früher die letzteren in Mathematik wurden? Speziell darüber, wie 2n + (2n-1) + (2n-2) + ... + (n+1)n*n + (1+2+3+...+n) werden? Ich denke, Formel n(n+1)/2 wird hier mit n=(n+1) verwendet, aber es funktioniert nicht für mich.

Wird hier irgendeine Formel verwendet?

+0

das ist viel einfacher zu verstehen Wenn Sie die Anfangssumme als 'n + (n + 1) + (n + 2) + ... + (n + n) 'schreiben, sollte es ziemlich offensichtlich sein, wie Sie zum nächsten Schritt kommen. – Dukeling

Antwort

0

Frage 1

Du hast Recht, für i-ten inneren Schleife Laufzeit 2n-i also für i = n, innere Schleife Laufzeit sollte n sein sollte. Die Antwort ist falsch.

Frage 2

Das muss die richtige Antwort sein

2n + (2n-1) + ... + n

Was Sie tun können, ist Ihnen eine weitere Summe konstruieren Sequenz

n + (n + 1) + ... + 2n

Sie passen 2n-i mit n + i für alle i = 0..n Daher haben Sie (n + 1) Terme von 3n, also ist die Summe der 2 genau gleich Sequenz 3n (n + 1) und daher ist die Summe aus 1-Sequenz ist 1,5 n (n + 1)

Oder Sie können einfach die Formel für die Summe der arithmetischen Progression gelten, finden Sie in der Wiki-Seite https://en.wikipedia.org/wiki/Arithmetic_progression

Verwandte Themen