본문 바로가기

알고리즘, 자료구조

2. 빅오 표기법 (Big-O notation) - [알고리즘, 자료구조]

O(n!) : 팩토리얼은 Big-O표기법에서 매우 좋지 않다. 반복하는 모든 요소에 반복문을 또 돌리기 때문이다.

 

 

빅오 표기법은 기본적으로, 알고리즘 최악의 경우 복잡도를 측정한다.
( ** 위 그래프의 x축을 “ 자료 입력 개수” , y 축을 “ 시간 ” 으로 이해해야함.)

빅오 표기법을 고민할 땐, 이것만 기억하자.

“n이 무한으로 접근하면 무슨 일이 일어날까?”

고등학교 수학시간 때 배웠던 '극한'의 개념을 생각해보자..!

 

빅오 표기법을 구성하는 2가지

1.시간복잡성(Speed): 코드가 실행되는데 얼마나 걸리는가? -> CPU가 영향을 미침.

- 저장용량(Memory):  -> RAM이 영향을 미침.

2. 가독성(Readable)

3. 공간복잡성(Memory): 충분한 저장용량이 있는가?

 

시간복잡성과 공간복잡성은 반비례 관계를 가진다.

 

공간 복잡성에 영향을 미치는 요인은?

1. 변수

2. 자료구조

3. 함수 호출

4. 할당

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

해당 블로그의 포스팅을 참조했습니다.

medium.com/@callmedevmomo/%EC%9B%B9-%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%A5%BC-%EC%9C%84%ED%95%9C-%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0%EC%99%80-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-01-%EB%B9%85%EC%98%A4-%ED%91%9C%EA%B8%B0%EB%B2%95-ff369f0efc1d

 

웹 개발자를 위한 자료구조와 알고리즘 (#01. 빅오 표기법)

웹 개발자를 위한 자료구조와 알고리즘 ( a.k.a 웹자알 ) 시리즈의 첫 포스팅입니다!

medium.com