6.838, Computational Geometry; Fall 2001
Point Location
Sergi Elizalde & David Pritchard
Definite Linear Storage, Logarithmic Queries with n log n Construction Time
The probability
that D has maximum query time O(log n) is high.
Similarly one
can show that the probability that the size of D is O(n)
is high.
So, the probability
that both things happen simultaneously (and hence the running time of the algorithm
is O(n log n)) is high as well.
Theorem.
There exists a D that uses O(n) storage and has O(log n)
query time in the worst case.
To obtain such a D:
- Run the algorithm on the set S, keeping track of the size and maximum length of a query path on the search structure being created.
- As soon as the size or depth get too big, stop the algorithm and start again from the beginning with a fresh random permutation.
- The probability that we get the desired size and depth is high (bounded from below by a constant).
- So, the expected number of trials before we get a good D is constant.