작은 입력과 큰 입력
두 알고리즘의 연산 수가 T_A(n) = 20n + 400, T_B(n) = 2n log₂ n이다.
- n = 16일 때 두 함수값을 계산하고 더 작은 쪽을 고른다.
- n = 2048일 때 두 함수값을 계산하고 더 작은 쪽을 고른다.
- 작은 입력에서 더 빨랐다는 사실만으로 큰 입력에서도 더 빠르다고 결론 내릴 수 없는 이유를 한 문장으로 설명한다.
해설 펼치기
- T_A = 20·16 + 400 = 720, T_B = 2·16·4 = 128이다. 이 입력에서는 B가 작다.
- T_A = 41,360, T_B = 2·2048·11 = 45,056이다. 이 입력에서는 A가 작다.
- 계수와 낮은 차수 항은 작은 입력의 대소 관계에 영향을 준다. 입력이 커지면 n log n이 n보다 빠르게 증가하므로 두 함수의 순서가 바뀔 수 있다.
점근 표기는 충분히 큰 입력에서의 증가를 설명하며 특정 입력의 실제 함수값을 대신하지 않는다.