Amortized Analysis

jade·2025년 3월 14일

Computer_Algorithm

목록 보기
1/2

이 시리즈는 학교 "컴퓨터 알고리즘" 수업 내용을 기반으로 합니다.

1. Amortized Analysis

Potential method

배열에 push를 하는데, 배열이 꽉차면 그 배열의 크기를 늘리면서 복사를 해야하기 때문에 갑자기 큰 비용이 발생함
그래서 potential(잠재에너지)개념이 등장
매번 push를 할 때 잠재 에너지에 1씩 저장함 -> 나중에 배열이 꽉차면 잠재에너지로 배열크기를 늘리고(복사) 계속해서 push를 하면 됨 -> 갑자기 큰 비용이 발생하지 않음

Amortized Cost = Actual Cost + Φ(D i) − Φ(D i−1)
잠재비용 = 실제 비용 + 잠재변화량

2. Space complexity

저장 공간(Storage space)에 들어가야 할 것들

  • 명령어(Instructions)
  • 상수, 간단한 변수(constants, simple variables)
  • 입력 데이터와 추가 작업 공간(데이터 구조 포함)

입력데이터의 저장 형태

  • 배열, 그래프 등등
  • 배열로 저장되면, 추가 작업 공간만 분석하면 됨
  • 그래프와 같은 형태의 경우, 입력되어있는 데이터와 추가작업공간 모두 분석해놔야함

분석 방법

  • 최악의 경우 공간 분석(Worst-case space analysis)
    최악의 입력이 들어왔을 때 알고리즘이 사용하는 최대 메모리 양
  • 평균적인 경우 공간 분석(Average-case space analysis)
    모든 가능한 입력에 대해 알고리즘이 사용하는 평균적인 메모리 양

0개의 댓글