272 Pages
5 B/W Illustrations
by
Chapman & Hall
272 Pages
by
Chapman & Hall
255 Pages
by
Chapman & Hall
Also available as eBook on:
Until now, no other book examined the gap between the theory of algorithms and the production of software programs. Focusing on practical issues, A Programmer's Companion to Algorithm Analysis carefully details the transition from the design and analysis of an algorithm to the resulting software program. Consisting of two main complementary parts, the book emphasizes the concrete aspects of... Read more
PART 1 THE ALGORITHM SIDE: REGULARITY, PREDICTABILITY, AND ASYMPTOTICS
A Taxonomy of Algorithmic Complexity
Fundamental Assumptions Underlying Algorithmic Complexity
Examples of Complexity Analysis
PART 2 THE SOFTWARE SIDE: DISAPPOINTMENTS AND HOW TO AVOID THEM
Sources of Disappointments
Implications of Nonuniform Memory for Software
Implications of Compiler and Systems Issues for Software
Implicit Assumptions
Implications of the Finiteness of the Representation of Numbers
Asymptotic Complexities and the Selection of Algorithms
Infeasibility and Undecidability: Implications for Software Development
PART 3 CONCLUSION
Appendix I: Algorithms Every Programmer Should Know
Appendix II: Overview of Systems Implicated in Program Analysis
Appendix III: NP-Completeness and Higher Complexity Classes
Appendix IV: Review of Undecidability
BIBLIOGRAPHY
INDEX
A Taxonomy of Algorithmic Complexity
Fundamental Assumptions Underlying Algorithmic Complexity
Examples of Complexity Analysis
PART 2 THE SOFTWARE SIDE: DISAPPOINTMENTS AND HOW TO AVOID THEM
Sources of Disappointments
Implications of Nonuniform Memory for Software
Implications of Compiler and Systems Issues for Software
Implicit Assumptions
Implications of the Finiteness of the Representation of Numbers
Asymptotic Complexities and the Selection of Algorithms
Infeasibility and Undecidability: Implications for Software Development
PART 3 CONCLUSION
Appendix I: Algorithms Every Programmer Should Know
Appendix II: Overview of Systems Implicated in Program Analysis
Appendix III: NP-Completeness and Higher Complexity Classes
Appendix IV: Review of Undecidability
BIBLIOGRAPHY
INDEX
Biography
Ernst L. Leiss
"… an interesting book which addresses some of the issues which inhibit the development of perfect-world software. … In my opinion, this book should be on the bookshelf of anyone aspiring to become a good programmer. … this book would be a good auxiliary book in courses on algorithms, especially those intended for students intent on becoming software developers. Similarly with an advanced programming-type course. The book also would work well for self-study."
—Dean Kelley, SIGACT News, Vol. 40, No. 2






