Robert Sedgewick Philippe Flajolet