How to Design Algorithms

  • Steven S. Skiena


Designing the right algorithm for a given application is a major creative act—that of taking a problem and pulling a solution out of the ether. The space of choices you can make in algorithm design is enormous, leaving you plenty of freedom to hang yourself.

This book is designed to make you a better algorithm designer. The techniques presented in Part I of this book provide the basic ideas underlying all combinatorial algorithms. The problem catalog of Part II will help you with modeling your application, and tell you what is known about the relevant problems. However, being a successful algorithm designer requires more than book knowledge. It requires a certain attitude—the right problem-solving approach. It is difficult to teach this mindset in a book, yet getting it is essential to becoming a successful designer.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [GJ79]
    M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the theory of NP-completeness. W. H. Freeman, San Francisco, 1979.zbMATHGoogle Scholar
  2. [P57]
    G. Pólya. How to Solve It. Princeton University Press, Princeton NJ, second edition, 1957.Google Scholar
  3. [Wol79]
    T. Wolfe. The Right Stuff. Bantam Books, Toronto, 1979.Google Scholar

Copyright information

© Springer-Verlag London Limited 2012

Authors and Affiliations

  1. 1.Department of Computer ScienceState University of New York at Stony BrookNew YorkUSA

Personalised recommendations