데브코스 TIL/자료구조, 알고리즘
6강: 알고리즘의 복잡도
예니ㅣ
2023. 10. 16. 18:10
강의
"복잡도"는 자원이 얼마나 필요한가를 나타내는 측도입니다.
- 시간 복잡도 : 문제의 크기와 해결하는데 걸리는 시간 사이의 관계
- 공간 복잡도 : 문제의 크기와 이를 해결하는데 필요한 메모리 공간 사이의 관계
"시간 복잡도"에는 여러 가지 종류가 존재합니다.
- 평균 시간 복잡도 : 임의의 입력 패턴을 가정했을 때 소요되는 시간의 평균
- 최약 시간 복잡도 : 가장 긴 시간을 소요하게 만드는 입력에 따라 소요되는 시간
복잡도를 표기할 때, 점근 표기법 중에 하나인 "Big-O Notation"을 이용합니다.
- 선형 시간 알고리즘 O(n) : 선형 탐색
- 로그 시간 알고리즘 O(log n) : 이진 탐색, 병합 정렬(O(nlog n))
- 이차 시간 알고리즘 O(\(n^2\)) : 삽입 정렬