Ich bin verwirrt darüber, wie Big-O funktioniert, wenn man Funktionen innerhalb von Funktionen betrachtet (bei der Analyse des Worst Case). Zum Beispiel, was ist, wenn man so etwas hat:
for(int a = 0; a < n; a++)
{
*eine Funktion, die in O(n*log(n)) läuft*
for(int b = 0; b < n; b++)
{
*etwas in konstanter Zeit machen*
}
}
Würde dieser gesamte Block in O(n^2*log(n)) laufen, weil innerhalb der ersten for-Schleife ein O(n) und ein O(n*log(n)) vorhanden sind, also O(n*log(n)) größer ist und daher das ist, was wir nehmen? Oder ist es O(n^3*log(n)), weil du ein O(n) und ein O(n*log(n)) innerhalb der äußeren for-Schleife hast?
Jede Hilfe wird geschätzt! Danke!