Table of Contents
동적 배열은 용량에 도달 할 때 자동으로 크기를 조정하는 데이터 구조입니다. 구색 된 비용을 이해하면 여러 작업에 효율성을 평가합니다.
Amortized 비용이란?
분류된 비용은 가동의 순서에 당 평균 비용입니다. 그것은 많은 싼 가동의 맞은편에 그들 분배해서 때때로 재분해의 높은 비용을 매끄럽습니다.
동적 배열 작업
동적 배열의 일반적인 작업은 삽입, 탈수 및 재조합을 포함합니다. 끝의 삽입은 일반적으로 용량이 초과 될 때 재조합을 유발할 수있는 가장 빈번한 작동입니다.
암소화 비용 계산
요소를 삽입 할 때, 전체 때 크기에 배열 더블. 재분해의 비용은 새로운 배열에 모든 기존 요소를 복사하는 것이 포함됩니다. 재분해는 비용이 많이 들지만, 그것은 불행하게 발생합니다.
예를 들어, 배열이 용량 1로 시작되면 여러 삽입에 비용을 재조합하는 순서는 다음과 같이 요약 할 수 있습니다.
- 삽입 1 성분: 비용 1
- 삽입 제 2 요소: 크기 (비용 1), 총 비용 2
- 삽입 3rd 요소: 크기 (코스트 2), 총 비용 3
- 삽입 4 성분: (비용 4), 총 비용 4
n 인서트의 총 비용은 2n에 비례하며, 인서트 당 amortized 비용을 약 O(1).