目录
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
【展开】
【收起】
内容简介
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.
This is not an easy book. Nor is it a compilation of tips and tricks for incremental improvements in your programming skills. The book’s value is more fundamental and, ultimately, more critical for insight into programming. To benefit fully, you will need to work through it from beginning to end, reading the code, proving the lemmas, doing the exercises. When finished, you will see how the application of the deductive method to your programs assures that your system’s software components will work together and behave as they must.
Following key definitions, the book describes a number of algorithms and requirements for types on which they are defined that exemplify its abstract mathematical approach. The code for these descriptions—also available on the Web—is written in a small subset of C++ meant to be accessible to any experienced programmer. This subset is defined in a special language appendix coauthored by Sean Parent and Bjarne Stroustrup.
Whether you are a software developer, or any other professional for whom programming is an important activity, or a committed student, you will come to understand what the book’s experienced authors have been teaching and demonstrating for years—that mathematics is good for programming, that theory is good for practice.
【展开】
【收起】
下载说明
1、追日是作者栎年创作的原创作品,下载链接均为网友上传的的网盘链接!
2、相识电子书提供优质免费的txt、pdf等下载链接,所有电子书均为完整版!
下载链接