Coding/Algorithm and data structure

빅오 표기법에대한 아주아주 쉬운설명 O(1)에 대한 설명

Joseph_nice_ 2021. 7. 9. 01:13
반응형

컴퓨터과학에서 알고리즘은 필수학문이다 왜냐하면 프로그램의 효율성 데이터 접근방법등 중요한것들을 알고리즘화 하여 코드로 표현하기때문이다.

빅오표기란 알고리즘의 복잡도와 효율성에 관한 표현이다 

 

이제 빅오표기법을 알아보자 

빅오표기의 성능은

O(1) << O(LOG) <<O(N) << O(N^2)

GOOD                                  BAD

 

그래서 O(1)이 가장 좋은것이다 

O(1)의 뜻은 

인덱스에 1번만 접근하기떄문에

시간이 오래걸릴이유가 없다 코드 에시로

 

array = [1,5,3,2]

print(array[0])

 

을하는경우이다 

만약 이런 경우에도 O(1)일까?

array = [1,5,3,2]

print(array[0])

print(array[1])

 

정답은 O(1)이다 왜냐하면 한번씩만 접근하기때문이다

 

만약 print(array[0], array[1])

혹은 print(array[0:1])

을했다면 O(2)일것이다.

 

주료 자료구조에 대한 예시로 

PUSH 나 POP이 있다.

반응형