답변:
로그 위치에 따라 다릅니다. 그것이 단지 요인이라면, big-O 또는 는 상수를 곱할 수 있기 때문에 차이가 없습니다 .
를 취 하면 밑이 중요합니다. 밑면 2에서는 , 밑면 10에서는 입니다.
점근 표기법 상수 인자 망각하고, 임의의 두 개의 대수 상수 계수 차이 때문에,베이스에는 차이가 없음 모두 , B > 1 . 따라서 점근 표기법을 사용할 때 로그의 밑을 지정할 필요가 없습니다.
대부분의 경우 다른 답이 지적했듯이 로그의 기본 변경 수식은 모든 로그가 서로 일정한 배수임을 의미하기 때문에 로그의 밑을 버리는 것이 안전합니다.
이것이 안전하지 않은 경우가 있습니다. 예를 들어 @ gnasher729는 지수에 로그가 있으면 로그 밑이 실제로 중요하다는 점을 지적했습니다.
this simplifies to . 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.