Selection in O(n) expected time