We analysed more than 40 000 000 questions and answers on stackoverflow.com to bring you the top of most mentioned books (5720 in total)

How we did it:

  • We got database dump of all user-contributed content on the Stack Exchange network (can be downloaded here)
  • Extracted questions and answers made on stackoverflow
  • Found all amazon.com links and counted it
  • Created tag-based search for your convenience
  • Brought it to you

For any feedback, any questions, any notes or just for chat - feel free to follow us on social networks

Recomended tags

Top dynamic-programming books mentioned on stackoverflow.com

Introduction to Algorithms, 3rd Edition

Thomas H. Cormen

Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor. Introduction to Algorithms uniquely combines rigor and comprehensiveness. The book covers a broad range of algorithms in depth, yet makes their design and analysis accessible to all levels of readers. Each chapter is relatively self-contained and can be used as a unit of study. The algorithms are described in English and in a pseudocode designed to be readable by anyone who has done a little programming. The explanations have been kept elementary without sacrificing depth of coverage or mathematical rigor.The first edition became a widely used text in universities worldwide as well as the standard reference for professionals. The second edition featured new chapters on the role of algorithms, probabilistic analysis and randomized algorithms, and linear programming. The third edition has been revised and updated throughout. It includes two completely new chapters, on van Emde Boas trees and multithreaded algorithms, substantial additions to the chapter on recurrence (now called "Divide-and-Conquer"), and an appendix on matrices. It features improved treatment of dynamic programming and greedy algorithms and a new notion of edge-based flow in the material on flow networks. Many new exercises and problems have been added for this edition. As of the third edition, this textbook is published exclusively by the MIT Press.

More on Amazon.com

Purely Functional Data Structures

Chris Okasaki

This book describes data structures and data structure design techniques for functional languages.

More on Amazon.com

Introduction To Algorithms

Thomas H Cormen, Charles E Leiserson, Ronald L Rivest, Clifford Stein

An extensively revised edition of a mathematically rigorous yet accessible introduction to algorithms.

More on Amazon.com

Programming Pearls

Jon Louis Bentley

A guide to practical programming techniques and design principles, with information on such topics as testing, debugging and timing, set representations, and string problems.

More on Amazon.com

The Algorithm Design Manual: Text

Steven S. Skiena

This volume helps take some of the "mystery" out of identifying and dealing with key algorithms. Drawing heavily on the author's own real-world experiences, the book stresses design and analysis. Coverage is divided into two parts, the first being a general guide to techniques for the design and analysis of computer algorithms. The second is a reference section, which includes a catalog of the 75 most important algorithmic problems. By browsing this catalog, readers can quickly identify what the problem they have encountered is called, what is known about it, and how they should proceed if they need to solve it. This book is ideal for the working professional who uses algorithms on a daily basis and has need for a handy reference. This work can also readily be used in an upper-division course or as a student reference guide.THE ALGORITHM DESIGN MANUAL comes with a CD-ROM that contains:* a complete hypertext version of the full printed book.* the source code and URLs for all cited implementations.* over 30 hours of audio lectures on the design and analysis of algorithms are provided, all keyed to on-line lecture notes.

More on Amazon.com

Programming Challenges

Steven S. Skiena, Miguel A. Revilla

Presents a collection of more than one hundred programming challenges along with information on key theories and concepts in computer programming.

More on Amazon.com

Elements of Programming

Alexander A. Stepanov, Paul McJones

New techniques for building more secure, reliable, high-performance software, from the renowned creator of the C++ STL • • A truly foundational book on the discipline of generic programming: how to write better software by mastering the development of abstract components. • Based on Alexander Stepanov's breakthrough lectures to programmers at Adobe and throughout Silicon Valley. • For serious software developers, architects, and engineers, the perfect complement to Knuth's theory and Stoustrup's practice. Elements of Programming is the next breakthrough book for serious practitioners seeking ways to write better software. In this book, Alexander Stepanov - the legendary architect and creator of the C++ Standard Template Libraries - focuses on the discipline that offers the greatest potential for improving contemporary software: the proper development of abstract components. Drawing on his enormously popular lectures to programmers at Adobe and throughout Silicon Valley, Stepanov illuminates crucial techniques of generic programming, specifically focusing on abstraction as the key to secure, reliable, and high-performance software. Together with co-author and ACM Fellow Paul McJones, Stepanov shows programmers how to use mathematics to compose reliable algorithms from components, and to design effective interfaces between algorithms and data structures. Topics covered in Elements of Programming include: transformations, associative operations, linear orderings, ordered algebraic structures, iterators, coordinates and coordinate structures, copying algorithms, rearrangement, sorting, and much more. This book requires an understanding of mathematics, but is consistently focused on identifying superior solutions to practical programming problems. Stepanov and McJones illuminate their concepts and techniques with C++ code, but the techniques are equally applicable to a wide range of contemporary object-oriented languages.

More on Amazon.com

Algorithm Design

Jon Kleinberg, Éva Tardos

"Algorithm Design takes a fresh approach to the algorithms course, introducing algorithmic ideas through the real-world problems that motivate them. In a clear, direct style, Jon Kleinberg and Eva Tardos teach students to analyze and define problems for themselves, and from this to recognize which design principles are appropriate for a given situation. The text encourages a greater understanding of the algorithm design process and an appreciation of the role of algorithms in the broader field of computer science." --Book Jacket.

More on Amazon.com

Introduction to Algorithms

Udi Manber

This book emphasizes the creative aspects of algorithm design by examining steps used in the process of algorithm development. The heart of the creative process lies in an analogy between proving mathematical theorems by induction and designing combinatorial algorithms. The book contains hundreds of problems and examples. It is designed to enhance the reader's problem-solving abilities and understanding of the principles behind algorithm design. 0201120372B04062001

More on Amazon.com

Knapsack Problems

Hans Kellerer, Ulrich Pferschy, David Pisinger

Thirteen years have passed since the seminal book on knapsack problems by Martello and Toth appeared. On this occasion a former colleague exclaimed back in 1990: "How can you write 250 pages on the knapsack problem?" Indeed, the definition of the knapsack problem is easily understood even by a non-expert who will not suspect the presence of challenging research topics in this area at the first glance. However, in the last decade a large number of research publications contributed new results for the knapsack problem in all areas of interest such as exact algorithms, heuristics and approximation schemes. Moreover, the extension of the knapsack problem to higher dimensions both in the number of constraints and in the num ber of knapsacks, as well as the modification of the problem structure concerning the available item set and the objective function, leads to a number of interesting variations of practical relevance which were the subject of intensive research during the last few years. Hence, two years ago the idea arose to produce a new monograph covering not only the most recent developments of the standard knapsack problem, but also giving a comprehensive treatment of the whole knapsack family including the siblings such as the subset sum problem and the bounded and unbounded knapsack problem, and also more distant relatives such as multidimensional, multiple, multiple-choice and quadratic knapsack problems in dedicated chapters.

More on Amazon.com

Introduction to the Design and Analysis of Algorithms

Anany Levitin

This text introduces the reader to the design and analysis of algorithms. It teaches broad problem-solving skills alongside an introduction to algorithms. The author achieves this by using three unique features: a table of contents that is based on a more effective taxonomy of algorithm design techniques; a style of presentation that emphasizes understanding over excessively formal treatment; and extensive use of puzzles and exercises that motivate the presentation of the material.

More on Amazon.com

Introduction to Dynamic Programming

Leon Cooper, Mary W. Cooper

Some simple examples; Functional equations: basic theory. One-dimensional dynamic programming: analytic solutions; One-dimensional dynamic programming: computational solutions; Multidimensional problems; Reduction of state dimensionality and approximations; Stochastic processes and dynamic programming; Dynamic programming and the calculus of variations; Applications of dynamic programming; Set, Convexity, and n-dimensional geometry.

More on Amazon.com

javac#c++c.netalgorithmphppythonjavascriptdesignasp.netlanguage-agnosticdesign-patternsandroidoopsqllinuxdatabasematharchitectureperformanceprogramming-languagesresourcesuser-interfacemysqlhtmlsql-serverwindowsiphonerubyiosmultithreadingdata-structuresresearchobjective-csecuritycomputer-scienceassemblyruby-on-railsjquerydatabase-designdocumentationasp.net-mvcunit-testingrcompiler-constructiontestingunixcsssoftware-engineeringwpfartificial-intelligenceweb-applicationsvb.netreferenceclassvisual-studioweb-servicesoptimizationarraysnetworkingproject-managementjava-eeumleclipseosxcoding-styleagilegraphicswinformsoperating-systemmemory-managementoracleembeddedspringwinapivisual-c++image-processingmodel-view-controllerajaxhardwareparsingfunctional-programmingregexamazonmemorytddtheoryinheritancefunction3dstatisticsperlopenglkernelopen-sourcexcodeapistringnlpxmlcocoawcfentity-frameworkdebuggingmachine-learninginterfacerefactoringactionscript-3concurrencymatlabrestdomain-driven-designdelphic#-4.0stlgraphpointersnode.jsscriptingopengl-estemplatessharepointidelispsilverlightdjangoprocessparallel-processingamazon-web-servicesuntaggedcommand-linex86scalasocketssql-server-2008visual-studio-2008frameworkshtml5audioobjectlistneural-networkproject-planningvb6visual-studio-2010flexswinglinux-kernelstandardslogicproductivitysearchencryptionc++11mobilec++-faqqtscrumgccscalabilityf#genericsmfcflashhaskelltsqlsortingsoftware-designversion-controllinqsql-server-2005treeweb-scrapingterminologyimagemethodologyasynchronousvbaxamlvariablesshellasp.net-mvc-3boostexcelooadopencvusbcryptographyc#-3.0eventsphysicstypesapachepluginsnetwork-programminghibernatetcpclojurematrixsyntaxmethodsssasrecursionsignal-processinggeometrycachingfortranpostgresqlcocoa-touchdependency-injectionschemestackipadgame-enginefileclass-designauthenticationinterpreterdeploymentarduinomodelruby-on-rails-32djsondirectxbluetoothfrontendusabilityspring-mvccomputer-visionformslambdasoawebinternalscollectionslinux-device-driverfilesystemsejbexceptionnhibernatevectorqadllcomlanguage-design.net-3.5linq-to-sqlvideogarbage-collectionhttpembedded-linuxjvmsqlitenaming-conventionssystembashimplementationmvvmtimezend-frameworkwebsitebddjspdata-access-layerthread-safetyscientific-computingvalidationindexingjunitosdevmockingopensslconstructorgrailsuser-experiencexpathreal-timerelational-databasecompilationmodelingtextmongodbdata-modelingormextreme-programmingprotocolsdevelopment-environmentprojectwebformsanalysisposixlow-levelclient-serversingletonservletsdata-miningsynchronizationclrcomparisonlanguage-featuresamazon-product-apimonocommon-lispmicrocontrollercontinuous-integrationhadoopxnacomplexity-theoryasp.net-mvc-4diagramcudasimulationencapsulationrandomhyperlinkdommacrosmusicshaderprojectsgwtjoinms-accesse-commercelinked-listwindows-phone-7linkerbinarydictionarystaticanti-patternscontent-management-systempolymorphismloopsstructurevisualizationstructactionscriptjpasvndata-warehouseabstract-classgroovyclosurescss3distributedprologtfsexception-handlinganimationdynamic-programmingdiscrete-mathematicssocial-networkingiorepository-patternif-statementcpuhashautomated-testssslkeyboardcode-reviewdynamicmetaprogrammingseleniumeclipse-pluginestimationheapgenetic-algorithmcode-generationlockingclassificationolapdrupalroboticsreverse-engineeringspecificationscomputational-geometryazurenormalizationmemory-leaksdriverssisopenclprofilingopengl-es-2.0grammarraspberry-picastingjava-meelectronics