An optimal-time algorithm for slope selection - COLE, R; SALOWE, J. S; STEIGER, W. L; SZEMEREDI, E (SIAM journal on computing, 1989)
Given $n$ points in the plane and an integer $k$, the problem of selecting that pair of points that determines the line with the $k$th smallest or largest slope is considered. In the restricted case, where $k$ is $O(n)$, line sweeping gives an optimal, $O(n\log n)$-time algorithm. For general $k$ the parametric search technique of Megiddo is used to describe an $O(n(\log n)^2 )$-time algorithm. This is modified to produce a new, optimal $O(n\log n)$-time selection algorithm by incorporating an approximation idea.