본문 바로가기

학습 내용 정리/Computer Science

공간 복잡도

728x90

공간복잡도 : 프로그램을 실행 및 완료하는데 필요한 저장공간의 양

 

좋은 프로그램은 실행 시간도 짧고, 저장 공간도 적게 쓰는 프로그램 (=알고리즘)

  • 통상 둘 다를 만족시키기는 어려움
    • 시간과 공간은 반비례적 경향이 있음
    • 최근 대용량 시스템이 보편화되면서, 공간 복잡도보다는 시간 복잡도가 우선
    • 그래서! 알고리즘은 시간 복잡도가 중심
    • 하지만, 공간 복잡도는 기본이기 때문에 기본이 안되서 떨어지는 경우도 많습니다!

 

  • 총 필요 저장 공간
    • 고정 공간 (알고리즘과 무관한 공간): 코드 저장 공간, 단순 변수 및 상수
    • 가변 공간 (알고리즘 실행과 관련있는 공간): 실행 중 동적으로 필요한 공간
    • S(P) = c + Sp(n)
      • c: 고정 공간
      • 𝑆𝑝(𝑛)Sp(n): 가변 공간
  • 고정 공간은 상수이므로 공간 복잡도는 가변 공간에 좌우됩니다.

공간 복잡도와 시간 복잡도 모두 빅 오 표기법으로 표현한다. = O(n)

 

컴퓨터 과학에서 O(logN)은 O(log₂N)을 줄여 부르는 말이다.

데이터가 두 배로 증가할 때마다 한 단계씩 늘어나는 알고리즘

'학습 내용 정리 > Computer Science' 카테고리의 다른 글

웹 접근성 (Web Accessibility)  (2) 2023.10.12
시간 복잡도  (0) 2023.09.15
자료와 자료구조  (0) 2023.09.11
DBMS  (0) 2023.08.30
CPU와 메모리  (0) 2023.08.21