Computing and Combinatorics - Chen, Danny Z. (Springer Berlin Heidelberg, 2006)