Algorithms. - Sedgewick, Robert (Addison-Wesley, 2011)