Elements of Programming
豆瓣
Alexander Stepanov / Paul McJones
简介
Elements of Programming provides a different understanding of programming than is presented elsewhere. Its major premise is that practical programming, like other areas of science and engineering, must be based on a solid mathematical foundation. The book shows that algorithms implemented in a real programming language, such as C++, can operate in the most general mathematical setting. For example, the fast exponentiation algorithm is defined to work with any associative operation. Using abstract algorithms leads to efficient, reliable, secure, and economical software.
contents
Preface
Chapter 1 - Foundations
Chapter 2 - Transformations and Their Orbits
Chapter 3 - Associative Operations
Chapter 4 - Linear Orderings
Chapter 5 - Ordered Algebraic Structures
Chapter 6 - Iterators
Chapter 7 - Coordinate Structures
Chapter 8 - Coordinates with Mutable Successors
Chapter 9 - Copying Algorithms
Chapter 10 - Rearrangements
Chapter 11 - Partition and Merging
Chapter 12 - Composite Objects
Afterword
Appendix A - Mathematical Notation
Appendix B - Programming Language (by Sean Parent and Bjarne Stroustrup)
Bibliography
Index