이진 검색의 빅 O에있는 로그가 기본 2가 아닌 이유는 무엇입니까?


35

나는 컴퓨터 과학 알고리즘에 익숙하지 않다. 이진 검색 과정을 이해하지만 그 효율성에 약간의 오해가 있습니다.

요소 의 크기 에서 특정 요소를 찾는 데 평균 n 단계 가 걸립니다 . 양변의 밑이 2 인 로그를 취하면 log 2 ( s ) = n이 됩니다. 그래서 이진 검색 알고리즘 단계의 평균 수는 없을 것이다 로그인 이 ( 들 ) ?s=2nnlog2⁡(s)=nlog2⁡(s)

이진 검색 알고리즘에 관한 이 Wikipedia 기사 는 평균 성능이 라고 말합니다 . 왜 그렇습니까? 왜이 숫자는되지 로그 2 ( N을 ) ?O(log⁡n)log2⁡(n)


답변:


86

대수의 기저를 변경하면 결과 표현식은 상수 인수에 의해서만 달라지며, Big-O 표기법의 정의에 따르면 두 함수가 점근 적 동작과 관련하여 동일한 클래스에 속한다는 것을 의미합니다.

예를 들어 여기서 C=1

log10⁡n=log2⁡nlog2⁡10=Clog2⁡n
.C=1log2⁡10

log10⁡nlog2⁡nC

log10⁡n is O(log2⁡n)
log2⁡n is O(log10⁡n)
loga⁡nO(logb⁡n)ab

k>1nkO(n)log⁡nkO(log⁡n)log⁡nk=klog⁡nlog⁡nk


a,b>1e

2
O(log⁡n)

9

log⁡(n)elog

그러나 이미 표시된 것처럼이 경우에는 문제가되지 않습니다.


7
"log (n)"은 모호 할 수 있지만 "O (log (n))"은 생각할 수있는 기본에 관계없이 "O (log (n))"이 하나의 의미 만 갖기 때문에 그렇지 않다는 점에 유의해야합니다.
— Chris
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.