더북(TheBook)

그림 3-8을 보면 capacity가 충분히 커서 996번 동안은 빅오가 O(1)이고 그 후 배열이 가득 찼을 때 딱 한 번 빅오가 O(n)이 됩니다. 이를 이렇게 생각하면 어떨까요? 배열이 가득 찼을 때 추가하는 연산의 비싼 비용을 나머지 996번의 연산 동안 골고루 나누어 빚을 갚았다고 말이지요. 사실 동적 배열에서 배열이 가득 찼을 때는 배열 크기의 2배만큼 capacity를 다시 잡기 때문에 이후에 다시 배열이 가득 차려면 상당한 연산이 추가로 필요합니다. 그동안은 쭉 빅오가 O(1)인 셈입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.