배열·연결 작업 부하 실패와 복원 비교

연결 목록의 중간 삽입을 무조건 O(1)로 기록

계약 위반

복잡도는 마지막 대입만이 아니라 시작부터 결과까지 수행한 일을 셉니다. 이미 Node 참조가 주어진 알고리즘과 index 기반 List API는 전제가 다르므로 같은 표에 섞으면 안 됩니다.

재현

계약 복원

DeterministicListCostProbe는 같은 중간 인덱스 시나리오에서 탐색과 쓰기를 따로 기록합니다. 실제 시간을 단정하지 않고 연산 수 모델을 출력해 가정을 검토할 수 있게 합니다. 캐시 효과는 별도 측정 항목으로 남깁니다.

구현
검증 기준비교하는 두 구현은 같은 입력 크기·같은 위치·같은 최종 결과를 사용한다

핵심: List 구현 선택은 단일 연산 표가 아니라 애플리케이션의 연산 혼합을 입력으로 합니다. Java LinkedList는 양방향 링크와 first·last를 유지해 메모리 비용도 더 큽니다. 일반적인 기본값은 ArrayList이고 반대 증거가 있을 때 교체합니다.