티스토리 뷰
반응형
점근적 표기법
점근적 표기법에는 크게 , ,
예시 다항식 : n^3+n^2+n−1
- O(빅-오)에서는 가장 높은 차수보다 같거나 높은 식을 뜻합니다.
- O(n^3), O (n^6) O(n^100) 모두 표현 가능하지만, 타이트하게 O(n^3)으로 라고 결정합니다.
-
-
대입과 조건문의 시간복잡도
코드의 실행 횟수를 점근적 표기법으로 추상적으로 표현할 수 있는데 이것을 시간복잡도라고 부릅니다.
set a = 5 // O(1)
if a != 10 // O(1)
print('hello') // O(1)
상기 코드의 시간 복잡도를 계산해보면 다음과 같습니다. print 메서드를 O(1)로 가정한다면, 대입(set a= 5)도 O(1)이고, print 도 O(1)입니다. if a !=10 도 단순히 한번 두 값을 비교연산을 수행하기에 O(1)입니다.
따라서 상기 코드의 시간복잡도는 O(1) 입니다.
참고사항
for loop를 1억번(100,000,000) 도는데 걸리는 시간은 약 1초입니다.
제한 시간이 1초인 경우에 구현할 코드의 시간복잡도를 O로 계산했다고 가정하면,
N의 범위에 따라 제한 시간안에 처리할 수 있는지 파악할 수 있습니다.
N의 범위 | 수행 가능한 시간복잡도 | 계산식 |
N≤10 | , , | |
N≤20 | O(2^N) | 2^20 = 1,048,576 |
N≤100 | O(N^4) | 100^4 = 100,000,000 |
N≤500 | O(N^3) | 500^3 = 125,000,000 |
N≤1,000 | , | |
N≤100,000 | , , , |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- thymeleaf
- 전자정부프레임워크
- Comparator
- springboot
- 글또
- 유데미
- RASA
- NLU
- BufferedReader
- Spring
- BFS
- 개발자취준
- 코드트리
- 취리코
- Comparable
- dxdy
- 객체정렬
- 재기동
- 회고록
- BufferedWriter
- 코딩테스트
- 취업리부트코스
- Java
- script
- 자바
- 나만의챗봇
- 챗봇
- JWT
- 백준
- 항해99
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함
반응형