Dies ist eine grundlegende Frage, aber ich denke, dass dasselbe ist wie , da der größere Term dominieren sollte, wenn wir ins Unendliche gehen? Dies würde sich auch von O (\ min (m, n)) unterscheiden . Ist das richtig? Ich sehe diese Notation immer wieder, besonders wenn ich über Graph-Algorithmen diskutiere. Zum Beispiel sehen Sie routinemäßig: O (| V | + | E |) (siehe z . B. hier ).
44
Antworten:
Du hast recht. Beachten Sie, dass der AusdruckO(n+m) die klassische Big-O-Notation , die für Funktionen in einer Variablen definiert ist, leicht missbraucht . Es gibt jedoch eine natürliche Erweiterung für mehrere Variablen.
Einfach ausgedrückt, da
Andererseits unterscheidet sichO(n+m) von O(min{n,m}) , da Sie, wenn Sie n=2m ,
quelle
Ob Sie es glauben oder nicht, es scheint (meiner Erfahrung nach), dass viele Algorithmen nicht darüber nachgedacht haben, was die große O-Notation formal bedeutet, und wenn Sie danach gefragt werden, können Sie verschiedene Antworten erhalten. Einige Probleme werden in dem Artikel Über asymptotische Notation mit mehreren Variablen von Rodney R. Howell erörtert .
Interessanterweise verbringen die meisten Einführungskurse in Algorithmen viel Zeit damit, sich sehr formal mit der Big-O-Notation einer einzelnen Variablen zu befassen. In den nächsten Wochen verwenden Sie die Notation dann gerne für Graph-Algorithmen mit mehreren Variablen, ohne zu erörtern, was die ist Notation bedeutet eigentlich.
quelle