Same List, Different Costs

Operation Mix


같은 리스트 ADT라도 자주 쓰는 연산의 조합이 달라지면 더 알맞은 구현이 달라진다. 연산별 비용에 호출 횟수를 곱해 전체 작업량을 비교한다.

연산 조합임의 접근과 앞 삽입을 몇 번씩 쓰는지 구분한다.
전체 작업량각 연산의 호출 횟수와 한 번의 비용을 곱해 더한다.
구현 선택ADT 이름만으로 정하지 않고 실제 사용 비율을 근거로 고른다.

연산을 섞어 쓰는 비율에 따라 더 싼 표현이 바뀐다

100번의 연산 가운데 임의 접근 횟수를 바꾸면 나머지는 앞 삽입이 되고, 두 표현의 전체 작업량과 최고차항이 바뀐다. n = 1,000이다. 임의 접근 비용은 배열 1, SLList n으로 세는 최악 비용 모형을 쓴다.

행은 표현이다. 전체 작업량은 호출 횟수 × 연산 한 번의 비용의 합이며 초록 테두리 칸이 더 작은 표현이다.