**Amortized 분석(분할 상환 분석)**은 개별 연산이 가끔 훨씬 더 비쌀 때조차도, 연산 시퀀스 전체에 걸친 연산당 평균 비용을 측정합니다. 이는 dynamic array의 append가 가끔 O(n) 리사이즈가 있음에도 왜 "O(1) amortized"인지를 설명합니다.
dynamic array 예시
dynamic array가 가득 차면 새 array(보통 2배)를 할당하고 모든 원소를 복사합니다. O(n) 단계죠. 하지만 용량이 두 배가 되기 때문에 비싼 복사는 기하급수적으로 드물어집니다.
text
배가 array에 append (용량 표시):
ops: 1 2 3 4 5 6 7 8 9
cap: 1 2 4 4 8 8 8 8 16
copy: * * * * * <- 1,2,4,8,16... 에서 복사
