Tangled Dependencies and Memoization

  • Magnus Lie Hetland

Abstract

Many of you may know the year 1957 as the birth year of programming languages.1 For algorists, a possibly even more significant event took place this year: Richard Bellman published his groundbreaking book Dynamic Programming. Although Bellman’s book is mostly mathematical in nature, not really aimed at programmers at all (perhaps understandable, given the timing), the core ideas behind his techniques have laid the foundation for a host of very powerful algorithms, and they form a solid design method that any algorithm designer needs to master.

Keywords

Hexagonal Sorting Prefix Editing Actual Element 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bather, J. (2000). Decision Theory: An Introduction to Dynamic Programming and Sequential Decisions. John Wiley & Sons, Ltd.Google Scholar
  2. Bellman, R. (2003). Dynamic Programming. Dover Publications, Inc.Google Scholar
  3. Denardo, E. V. (2003). Dynamic Programming: Models and Applications. Dover Publications, Inc.Google Scholar
  4. Dreyfus, S. (2002). Richard bellman on the birth of dynamic programming. Operations Research, 50(1):48–51.MathSciNetMATHCrossRefGoogle Scholar
  5. Fredman, M. L. (1975). On computing the length of longest increasing subsequences. Discrete Mathematics, 11(1):29–35.MathSciNetMATHCrossRefGoogle Scholar
  6. Gusfield, D. (1997). Algorithms on Strings, Trees and Sequences: Computer Science and Computational Biology. Cambridge University Press.Google Scholar
  7. Lew, A. and Mauch, H. (2007). Dynamic Programming: A Computational Tool. Springer.Google Scholar
  8. Smyth, B. (2003). Computing Patterns in Strings. Addison-Wesley.Google Scholar

Copyright information

© by Magnus Lie Hetland 2010

Authors and Affiliations

  • Magnus Lie Hetland

There are no affiliations available

Personalised recommendations