Odpowiedzi:
To zależy od logarytmu. Jeśli jest to tylko czynnik, to nie ma znaczenia, ponieważ duże-O lub pozwala pomnożyć przez dowolną stałą.
Jeśli weźmiesz podstawa jest ważna. W bazie 2 miałbyś tylko , w bazie 10 chodzi o .
Ponieważ notacja asymptotyczna jest nieświadoma stałych czynników, a dowolne dwa logarytmy różnią się stałym współczynnikiem, zasada nie robi różnicy: dla wszystkich . Nie ma więc potrzeby określania podstawy logarytmu przy stosowaniu notacji asymptotycznej.
Jako i , tak . Ponieważjest dodatnią stałą (dla wszystkich), więc.
W większości przypadków bezpieczne jest upuszczenie podstawy logarytmu, ponieważ, jak wskazały inne odpowiedzi, formuła zmiany podstawy dla logarytmów oznacza, że wszystkie logarytmy są stałymi wielokrotnościami.
W niektórych przypadkach nie jest to bezpieczne. Na przykład @ gnasher729 wskazał, że jeśli masz logarytm w wykładniku, to podstawa logarytmiczna jest rzeczywiście znacząca.
. However, what happens if isn't a constant? A clever technique is to pick , in which case the runtime simplifies to . Since = , the overall expression simplifies to . Notice that, in this case, the base of the logarithm is indeed significant because it isn't a constant with respect to the input size. There are other algorithms that have similar runtimes (an old analysis of disjoint-set forests ended up with a term of somewhere, for example), in which case dropping the log base would interfere with the runtime analysis.
Another case in which the log base matters is one in which there's some externally-tunable parameter to the algorithm that control the logarithmic base. A great example of this is the B-tree, which requires some external parameter . The height of a B-tree of order is , where the base of the logarithm is significant in that is not a constant.
To summarize, in the case where you have a logarithm with a constant base, you can usually (subject to exceptions like what @gnasher729 has pointed out) drop the base of the logarithm. But when the base of the logarithm depends on some parameter to the algorithm, it's usually not safe to do so.