Donald E Knuth Fundamental algorithms: The art of computer programming - 3rd - Delhi Addison Wesley 2001