Today I Learned/컴퓨터기초
빅오(big-O) , 시간복잡도
하나719
2023. 8. 21. 20:45
반응형
빅 오 란 입력값 N이 커질때, 함수의 실행 시간의 추이를 말한다.
예를들어 숫자 1부터 N까지 출력하는 알고리즘을 작성했을 때 N 값이 100일때보다 1000000000000일때 실행시간이 커질 것이다.
이처럼 입력값이 커졌을 때의 알고리즘 효율성이 중요한데, 이를 미리 판단할 수 있는 수학식이다.
빅 오 표기법의 종류
- O(1): 입력값이 커져도 실행 시간이 일정함으로 가장 좋은 알고리즘 (거의 발견할 수 없음)
- O(log n): 매우 큰 입력값에도 큰 영향을 받지 않음 (대표 알고리즘: 이진 검색)
- O(n): 입력값에 수행 시간이 비례함 (대표 알고리즘: 정렬되지 않은 리스트에서 최대값, 최솟값)
- O(n log n): 병합 정렬을 비롯한 대부분의 효율 좋은 정렬 알고리즘이 이에 해당함.
- O(n제곱): 버블 정렬같은 비효율적인 정렬 알고리즘이 여기에 속함
- O(2의 n제곱):피보나치 수를 재귀로 계산하는 알고리즘이 이에 해당한다.
반응형