O(n!) : 팩토리얼은 Big-O표기법에서 매우 좋지 않다. 반복하는 모든 요소에 반복문을 또 돌리기 때문이다.
빅오 표기법은 기본적으로, 알고리즘 최악의 경우 복잡도를 측정한다.
( ** 위 그래프의 x축을 “ 자료 입력 개수” , y 축을 “ 시간 ” 으로 이해해야함.)
빅오 표기법을 고민할 땐, 이것만 기억하자.
“n이 무한으로 접근하면 무슨 일이 일어날까?”
고등학교 수학시간 때 배웠던 '극한'의 개념을 생각해보자..!
빅오 표기법을 구성하는 2가지
1.시간복잡성(Speed): 코드가 실행되는데 얼마나 걸리는가? -> CPU가 영향을 미침.
- 저장용량(Memory): -> RAM이 영향을 미침.
2. 가독성(Readable)
3. 공간복잡성(Memory): 충분한 저장용량이 있는가?
시간복잡성과 공간복잡성은 반비례 관계를 가진다.
공간 복잡성에 영향을 미치는 요인은?
1. 변수
2. 자료구조
3. 함수 호출
4. 할당
해당 블로그의 포스팅을 참조했습니다.
웹 개발자를 위한 자료구조와 알고리즘 (#01. 빅오 표기법)
웹 개발자를 위한 자료구조와 알고리즘 ( a.k.a 웹자알 ) 시리즈의 첫 포스팅입니다!
medium.com
'알고리즘, 자료구조' 카테고리의 다른 글
1. 빅오 표기법 (Big-O notation) - [알고리즘, 자료구조] (0) | 2021.01.25 |
---|