로고로고

[Week10] 시간복잡도와 공간복잡도

2024년 12월 21일

시간 복잡도

for (let i = 0; i < n; i++) {
  console.log(i);
}
// n번 반복 -> 시간 복잡도 : O(n)

for (let i = 0; i < n; i++) {
  for (let j = 0; j < n; j++) {
    console.log(i, j);
  }
}
// 이중 반복 -> n * n 번 실행 -> 시간복잡도 : O(n²)

 

공간 복잡도

function makeArray(n) {
  const arr = [];
  for (let i = 0; i < n; i++) {
    arr.push(i);
  }
  return arr;
}
// 크기 n인 배열을 만듦 -> 공간 복잡도 : O(n)

function sum(n) {
  let total = 0;
  for (let i = 0; i < n; i++) {
    total += i;
  }
  return total;
}
// 변수만 하나 사용 -> 공간 복잡도 : O(1)

 

정리

구분의미단위 기준
시간 복잡도연산 횟수 (실행 시간 아님)입력 크기 n
공간 복잡도사용되는 메모리 양입력 크기 n, 사용 변수