Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
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
Tags
more
Archives
Today
Total
관리 메뉴

Skipalong's tistory

240314 TIL - 공간복잡도와 자료구조에서의 시간 복잡도 본문

TIL

240314 TIL - 공간복잡도와 자료구조에서의 시간 복잡도

Skipalong 2024. 3. 14. 23:50

오늘은 알고리즘에서 많이 보았던 복잡도에 대한 부분을 공부하고 정리해 보았다.

공간복잡도?

  • 공간 복잡도는 프로그램(알고리즘)을 실행시켰을 때 필요로 하는 자원의 공간의 양
  • 시간복잡도와 함께 알고리즘의 효율성을 평가하는 주요 기준 중 하나
  • 공간복잡도 = 고정 공간 요구량 + 가변 공간 요구량
    • 고정 공간: 입력과 출력의 크기에 관계없이 고정된 저장 공간(코드 저장 공간, 단순 변수 등)
    • 가변 공간: 실행 중 동적으로 할당되는 공간(동적 배열, 재귀 호출 등)
  • 공간 복잡도의 최적화
    • 최적화의 이유
      • 메모리 자원은 한정적, 효율적인 메모리 사용은 프로그램의 성능을 크게 향상시킴 특히, 대규모 데이터를 다루는 애플리케이션에서 공간복잡도의 최적화는 필수적
    • 최적화 방법
    • 불필요한 변수, 자료구조의 사용을 최소화
    • 재귀 대신 반복문을 사용하여 스택 오버플로우의 위험을 줄인다
    • 데이터 압축, 메모리 풀링 등의 기법을 활용하여 메모리 사용을 최적화
    • 메모리 풀링
      자료 구조에서의 시간 복잡도

이렇게 공간복잡도에 대한 공간복잡도를 최적화하는데 사용하는 메모리 풀링, 그리고 자료구조에서의 평균, 최악의 시간복잡도까지 알아보았다. 알고리즘 문제를 풀 때마다 공간복잡도는 신경쓰지 않고 시간에만 조금 신경을 썼는데 오늘 배운 내용을 바탕으로 공간복잡도에 대해서도 약간은 신경을 쓰고 자료구조별 시간복잡도도 신경을써서 최적의 자료구조를 선택할 수 있도록 노력해야겠다.

'TIL' 카테고리의 다른 글

240318 TIL - 취업준비  (1) 2024.03.19
240315 TIL - Queue  (2) 2024.03.16
240313 TIL - 정규화  (1) 2024.03.14
240312 TIL - 데이터베이스의 속성과 도메인  (0) 2024.03.13
240311 TIL - 공유자원과 임계영역  (0) 2024.03.12