2017-01-16 1 views
-4

Ich verstehe ernsthaft nicht, wohin ich mit der folgenden Frage gehen soll.Die Laufzeit einer Funktion im schlimmsten Fall finden

Alle Hinweise oder Schritte würden sehr geschätzt werden.

enter image description here

Ich möchte wirklich wissen, was ich tun soll, im Gegensatz zu nur die Antworten zu bekommen.

Ich verstehe, warum wir Big-Oh (Worst-Case) verwenden, aber ich kann meinen Verstand nicht hinter der Mathematik einwickeln. Wie berechnet man die Gesamtlaufzeit?

+0

Count bekommen, von der inneren for-Schleife beginnen, wie oft jede Schleife die Vorgänge im Inneren führt. Was bekommst du? – IVlad

+0

Sie haben keine * schlimmsten * oder * besten * Fälle im Kontext. Die Summe der Operationen selbst (angenommen, die innerste Schleife ist eine Operation) ist gleich 'n * (n + 1) * (2 * n + 1)/6 == O (n ** 3)'. –

+0

@IVlad Wie zählen Sie sie, wenn Sie so viele Unbekannte haben? _j: = i + 1_ würde als was betrachtet werden? – killmepls3

Antwort

0

Um die Big-Oh-Notation zu berechnen, müssen Sie die Worst-Case-Laufzeit ermitteln. Wir tun dies für drei Schleifen

1) i varies from 1 to n-1 so total times the loop runs n-1=O(n) 
2) j goes from 2 to n,3 to n..............n-1 to n so here total times the loop runs (n-2)+(n-3).......+1=(n-1)(n-2)/2=O(n^2) 
3) now for each value of j say a. k goes from 1 to a . This will add up another O(n) for each loop.(as value of a can go upto n) 

Conclusion 
Total loops of j O(n^2) and inside each loop we have O(n) operation. 
Therefore O((n^2)*n)=O(n^3) 

hoffe ich erklären konnte, wie wir Big-Oh-Notation

Verwandte Themen