Publisher: Addison Wesley
This book is intended to survey the most important algorithms in use oncomputers today and to teach fundamental techniques to the growing numberof people who are interested in becoming serious computer users. It is appropriatefor use as a textbook for a second, third or fourth course in computerscience: after students have acquired some programming skills and familiaritywith computer systems, but before they have specialized courses in advancedareas of computer science or computer applications. Additionally, the bookmay be useful as a reference for those who already have some familiarity withthe material, since it contains a number of computer implementations of usefulalgorithms.The book consists of forty chapters which are grouped into seven majorparts: mathematical algorithms, sorting, searching, string processing, geometricalgorithms, graph algorithms and advanced topics. A major goal in thedevelopment of this book has been to bring together the fundamental methodsfrom these diverse areas, in order to provide access to the best methodsthat we know for solving problems by computer for as many people as possible.The treatment of sorting, searching and string processing (which maynot be covered in other courses) is somewhat more complete than the treatmentof mathematical algorithms (which may be covered in more depth inapplied mathematics or engineering courses), or geometric and graph algorithms(which may be covered in more depth in advanced computer sciencecourses). Some of the chapters involve mtroductory treatment of advancedmaterial. It is hoped that the descriptions here can provide students withsome understanding of the basic properties of fundamental algorithms suchas the FFT or the simplex method, while at the same time preparing themto better appreciate the methods when they learn them in advanced courses.