2012-12-03 8 views
1

가능한 중복은 :
Plain English explanation of Big O대수 성장

logarithmic growth에 위키 피 디아 기사는 a이다. Stackoverflow에서 읽은 답 중 상당수는 프로세스 또는 함수가 0을 사용하여 로그 함수를 기반으로 얼마나 효율적인지 명확하게 설명합니다 ([아래 참조] 0 [영]이고 O [M, N, O, P, Q], 틀릴 경우 제 가정을 정정하십시오). n 또는 N입니다.

누군가가 일반적인 컴퓨터 설명에 관한 로그 설명을 더 잘 설명 할 수 있습니까? 어쩌면 초 단위의 시간 (밀리 세컨드도 환영합니다. 실생활의 시간 차이를 개념화하려고 시도합니다.), 크기 및/또는 무게면에서? 내가 본

다음 자주 : 내 가정의 기반이

  • O (1)
  • O (N) (다른 사람도 포함 주시기 바랍니다) inside a code block a 0 does have a slash through it 인 반면 코드 블록 외부의 0은 슬래시가 없습니다.

+2

http://en.wikipedia.org/wiki/Big_O_notation –

+1

대신 http://stackoverflow.com/questions/487258/plain-english-explanation-of-big-html을 참조하십시오. 영형 –

답변

1

이것은 실행 시간 (또는 다른 리소스)이 데이터 양의 일부 함수라는 것을 의미합니다. 10 개의 풍선을 날려 버리는 데 5 분이 소요된다고 가정 해 봅시다. 기능이 O (1) 인 경우 50 개의 풍선을 불어서 5 분이 소요됩니다. 그것이 O (n) 인 경우, 50 baloons를 날려 버리는 데는 25 분이 걸릴 것입니다.

O (log n)은 모든 것이 확장됨에 따라 큰 n을 쉽게 관리 할 수 ​​있음을 의미합니다 (로그 증가 이후). f (n) 개 항목의 디렉토리에서 주소를 찾고 싶다고 가정 해 봅시다. 디렉토리를 100 개의 항목으로 검색하는 데 6.64 초가 걸린다고 가정합니다. [6.64 = log_2 (100)] 그러면 200 개의 항목을 검색하는 데 7.64 초 밖에 걸리지 않습니다. 그것이 로그 증가입니다.