On Monday, 30 November 2015 at 21:33:31 UTC, Andrei Alexandrescu wrote:
So let's improve on that: whenever an element is found in position k, pick a random number i in the range 0, 1, 2, ..., k inclusive. Then swap the array elements at indexes i and k. This is the Randomized Slide to Front strategy.

With RStF, worst case search time remains O(n), as is the unsuccessful search. However, frequently searched elements migrate quickly to the front - it only takes O(log n) searches to bring a given value at the front of the array.

Something is wrong with the math here. The randomization means that you must assume that you get element k-1 in the worst case, so if you repeatedly search for the same element you need O(N) repeats to move it to the front, so you get O(N^2) complexity for moving any element to the front.

Right?

You are probably thinking about the average case analysis, which is a more sensible theoretical concept for randomized algorithms than worst case, but then you need a model for what is typical.

Reply via email to