알고리즘에서 '분할 상환 분석(Amortized Analysis)'에서 동적 배열(ArrayList)의 push 연산이 평균적으로 O(1)인 이유는?
어려움 freeCodeCamp해설
동적 배열은 공간이 부족하면 보통 2배 크기의 새 배열을 할당하고 복사합니다(O(n)). 하지만 이 확장은 n번 삽입 후에 발생하므로, 총 비용을 모든 삽입에 나누면 각 push의 분할 상환 비용은 O(1)이 됩니다. 이것이 '분할 상환 O(1)'이라 불리는 이유입니다.