External Sorting
Analysis
So the obvious question is: How many passes are required to sort
N pages using a buffer of size B?
- Last run length = B(B-1)k-1.
- Obviously, last run length is N.
- So solve B(B-1)k-1 = N for k.
- B(B-1)k-1 = N/B
- (k-1) log(B-1) = log(N/B)
- k = 1 + log(N/B) / log(B-1)
- k = 1 + logB-1(N/B)
|