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


35

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

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

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


답변:


86

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

예를 들어 여기서 C=1

log10n=log2nlog210=Clog2n
.C=1log210

log10nlog2nC

log10n is O(log2n)
log2n is O(log10n)
loganO(logbn)ab

k>1nkO(n)lognkO(logn)lognk=klognlognk


a,b>1e

2
O(logn)

9

log(n)elog

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


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