Algorithm/자료구조
[자료구조] 빅오 표기법(Big-O nation)
Eli.P
2022. 6. 26. 21:47
728x90
반응형
빅오 표기법 (Big-O nation) 이란
: 시간 복잡도를 나타내는 표기법
입력된 내용이 늘어날 수록 알고리즘에 실행 시간이 어떻게 변하는 지 설명하는 방법
시간복잡도
: 알고리즘을 수행하는데 연산들이 몇번 수행되는 가를 정량화 한 것을 나타낸다.
빅오 표기법 예제
1. O(1) : n의 값이 커질 수록, 아무 변화가 없고 실행 시간이 변하지 않는다.
function addUpTo(n) {
return n * (n + 1) / 2;
}
2. O(n) : n이 커질수록 실행 시간이 1:1로 늘어남
function addUpTo(n) {
let total = 0;
for (let i = 1; i<=n; i++){
total += 1;
}
return total;
}
3. O(n제곱) : n이 커질수록 실행 시간이 n제곱의 값으로 늘어남 (이중 for문)
function exponentiation(n) {
for(let i =0; i<n; i++){
for(let j =0; j<n; j++){
console.log(i,j);
}
}
}
빅오 표기법을 적용하는 규칙
1. 상수를 이용해 계산할 때 , 덧셈, 뺄셈, 곱셈, 나눗셈을 포함
2. 루프가 있으면 복잡도가 루프의 길이 곱하기
reference : udemy JavaScript 알고리즘 & 자료구조 마스터 클래스
728x90
반응형