728x90
∙ 시간복잡도
입력크기에 대해 어떠한 알고리즘이 실행되는데 걸리는 시간이며 주요로직의 반복횟수를 중점으로 측정
∙ 빅오표기법
복잡도에 가장 영향을 많이 끼치는 항의 상수인자를 빼고 나머지 항을 없애서 복잡도를 나타내는 표기법
// 시간 복잡도는 2분의1 의 n제곱 - n 이다.
// 빅오표기법으로는 n의 제곱이다.
#include <iostream>
using namespace std;
int n;
int main()
{
cin >> n;
int a = 0;
for (int i = 0; i < n; i++){
for (int j = 0; j < i; j++){
a += i + j;
}
}
cout << a << '\n';
}
∙ 공간복잡도
입력크기에 대해 어떠한 알고리즘이 실행되는데 필요한 메모리 공간의 양
- 최대 범위 : 대부분은 문제의 최대 범위를 기반으로 배열을 미리 만듬 -> N의 최대 범위가 1000000이면, int a[1000000]; 으로 선언
∙ 누적합
요소들의 누적된 합의 의미로 어떠한 배열을 기반으로 앞에서 부터 요소들의 누적된 합을 저장해 새로이 배열을 만들어서 이를 활용
'코딩 및 기타 > 코딩 테스트 준비' 카테고리의 다른 글
DFS (0) | 2023.11.17 |
---|---|
2주차(개념) (0) | 2023.11.09 |
[필수 개념] 중복된 요소 제거 방법 과 unique() (0) | 2023.10.26 |
[필수 개념] Split (0) | 2023.10.23 |
[필수 개념] 순열 / 조합 (0) | 2023.10.23 |