Da es nur eine Konstante zwischen den Logarithmusbasen gibt, ist es nicht in Ordnung, zu schreiben , im Gegensatz zu oder was auch immer Basis könnte sein?
algorithms
time-complexity
Alex5207
quelle
quelle
Antworten:
Es kommt darauf an, wo der Logarithmus ist. Wenn es sich nur um einen Faktor handelt, macht es keinen Unterschied, denn mit big-O oder können Sie mit jeder Konstanten multiplizieren.θ
Wenn Sie ist die Basis wichtig. In Basis 2 hätten Sie nur , in Basis 10 geht es um .O ( 2Logn) O ( n ) O ( n0,3010)
quelle
Da in der asymptotischen Notation konstante Faktoren nicht berücksichtigt werden und zwei beliebige Logarithmen sich um einen konstanten Faktor unterscheiden, macht die Basis keinen Unterschied:Logeinn = Θ ( logbn ) für alle a , b > 1 . Es ist also nicht erforderlich, die Basis eines Logarithmus anzugeben, wenn die asymptotische Notation verwendet wird.
quelle
quelle
In den meisten Fällen ist es sicher, die Basis des Logarithmus zu löschen, da, wie andere Antworten gezeigt haben, die Formel zur Änderung der Basis für Logarithmen bedeutet, dass alle Logarithmen konstante Vielfache voneinander sind.
Es gibt einige Fälle, in denen dies nicht sicher ist. Zum Beispiel hat @ gnasher729 darauf hingewiesen, dass die logarithmische Basis in der Tat signifikant ist, wenn Sie einen Logarithmus in einem Exponenten haben.
Zusammenfassend können Sie in Fällen, in denen Sie einen Logarithmus mit einer konstanten Basis haben, normalerweise (vorbehaltlich von Ausnahmen wie @ gnasher729) die Basis des Logarithmus fallen lassen. Wenn die Basis des Logarithmus jedoch von bestimmten Parametern des Algorithmus abhängt, ist dies normalerweise nicht sicher.
quelle