Abstract
In this chapter, I lay the foundations for your algorithm design skills. Algorithm design can be a hard thing to teach, because there are no clear recipes to follow. There are some foundational principles, though, and one that pops up again and again is the principle of abstraction. I’m betting you’re quite familiar with several kinds of abstraction already—most importantly, procedural (or functional) abstraction and object orientation. Both of these approaches let you isolate parts of your code and minimize the interactions between them so you can focus on a few concepts at a time.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Manber, U. (1988). Using induction to design algorithms. Communications of the ACM, 31(11):1300–1313.
Manber, U. (1989). Introduction to Algorithms: A Creative Approach. Addison-Wesley.
Manna, Z. (1974). Mathematical Theory of Computation. McGraw-Hill Book Company.
Okasaki, C. (1999). Purely Functional Data Structures. Cambridge University Press.
Pólya, G. (2009). How To Solve It: A New Aspect of Mathematical Method. Ishi Press.
Rabhi, F. A. and Lapalme, G. (1999). Algorithms: A Functional Approach. Addison-Wesley.
Simionato, M. (2006). The Python 2.3 method resolution order. [http://python.org/download/releases/2.3/mro]
Skiena, S. S. (2008). The Algorithm Design Manual. Springer, second edition.
Soltys, M. (2010). An Introduction to the Analysis of Algorithms. World Scientific.
Rights and permissions
Copyright information
© 2010 by Magnus Lie Hetland
About this chapter
Cite this chapter
Hetland, M.L. (2010). Induction and Recursion… and Reduction. In: Python Algorithms: Mastering Basic Algorithms in the Python Language. Apress. https://doi.org/10.1007/978-1-4302-3238-4_4
Download citation
DOI: https://doi.org/10.1007/978-1-4302-3238-4_4
Publisher Name: Apress
Print ISBN: 978-1-4302-3237-7
Online ISBN: 978-1-4302-3238-4
eBook Packages: Professional and Applied ComputingApress Access BooksProfessional and Applied Computing (R0)