상세 컨텐츠

본문 제목

시간 복잡도 계산(이해하기 쉬운)

Algorithm

by 개복신 개발자 2022. 10. 25. 23:48

본문

728x90
반응형

O(N) --> 직선적 시간

n번 동안 돌아다님

ex) for i in range(n)

 

O(N**2) --> 두번 훑어봄

for i in range(n):

    for j in range(k)

 

O(logn) --> 1/2씩 훑어보는 경우

예시) 이진탐색

f4함수(

재귀적으로 --> f4(n/2)

)

 

o(nlogn) --> 둘씩 나뉘어서 훑어보는 경우

둘로 나눈다 logn && 그 둘로 나뉜것을 훑어본다 n

So nlogn

예시 병합정렬

 

O(N!) --> 1씩 줄어들면서 훑어보는 경우

 함수 factorial(n) {

    factorial(n-1) --> 재귀적으로..

}

 

O(2^n) --> 둘씩 나눠지면서 계속 뻗어나감

ex) 

함수 fibo() {

    return    fibo(n-1) + fibo(n-2)

}

계속 둘씩 뻗어나감 근데 이 둘씩 뻗어나가는 것이 반으로 줄면서 훑어보는 것(logn)이 아니라

새로운 값들이 두개씩 뻗어나간다

반응형

'Algorithm' 카테고리의 다른 글

삽입 정렬  (0) 2022.10.26
버블 정렬  (0) 2022.10.26
선택정렬  (0) 2022.10.25
동적 계획법  (0) 2022.10.25

관련글 더보기

댓글 영역