Analysis of Algorithms By Robert Sedgewick & Philippe