티스토리 뷰

자바

시간복잡도

알로겐 2021. 2. 7. 18:53

O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(2^n) < O(n!)

 

이런 시간복잡도를 가지고 있다. 시간복잡도는 간단하게 한 input이 output으로 나오는 시간이라고 생각하면 된다.

예를 들어,

for(int i = 0; i < n; i++)
	for(int j = 0; j < n; j++)
    	int sum += temp[i][j]
        
// 결과는 O(n^2)

알고리즘을 풀 땐 1초에 1억번의 연산이 가능하다고 생각하면 편하다.

 

만약 입력이 10,000이다.

만약 2중 for문을 쓴다고 하면  일만 * 일만 = 100,000,000 총 1억의 시간복잡도를 갖게 된다.

보통 백준같은 코딩 사이트에선 제한시간이 1초이니 이중 반복문을 사용할 때 가능한 건 입력이 10,000 미만이 되겠다.

 

 

'자바' 카테고리의 다른 글

[자바, 알고리즘] 완전탐색  (1) 2021.03.07
자바 표준입출력  (0) 2021.02.07
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
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
글 보관함