1 Introduction
2 The overall algorithm
3 Finding a pivot
3.1 Correctness
4 Sampling, derandomization and further remarks
5 Lower bound against randomized algorithms