동적 배열 확장 상태 전이

저장량이 늘어나는 게시글

1

요구 용량

state-0

add는 저장 전에 required capacity를 계산하고 부족할 때만 배열을 교체합니다.

2

두 배 성장

state-1

새 길이는 현재 길이의 두 배와 요구 길이 중 큰 값으로 정해 한 번에 충분히 확보합니다.

3

배열 복사

state-2

복사 단계에서는 System.arraycopy가 사용 구간만 복사하며 비어 있는 capacity 영역은 옮길 필요가 없습니다.

4

상환 비용

state-3

확장 한 번은 O(n)이지만 여러 끝 삽입에 나누어 보면 평균 비용은 상수에 가까워집니다.

핵심: 게시글 저장소에 기록 수 상한을 두지 않으려면 저장소가 스스로 확장해야 합니다. CLI는 두 개의 입력으로 시작하지만 이후 같은 add 계약을 유지합니다. 초기 용량은 외부 기능이 아니라 성능 힌트입니다.