數學與泛型編程

數學與泛型編程

《數學與泛型編程》是一部由[美]亞歷山大 A. 斯捷潘諾夫等所著書籍,機械工業出版社出版發行。

基本介紹

  • 書名:數學與泛型編程
  • 作者:[美]亞歷山大 A. 斯捷潘諾夫
  • ISBN:9787111576587
  • 出版社:機械工業出版社
出版信息,內容簡介,作者簡介,目錄,叢書信息,

出版信息

作者:[美]亞歷山大 A. 斯捷潘諾夫(Alexander A. Stepanov)/[美]丹尼爾 E. 羅斯(Daniel E. Rose)
出版社:機械工業出版社
副標題:高效編程的奧秘
原作名:From Mathematics to Generic Programming
譯者:愛飛翔
出版年:2017-8
頁數:240
定價:79
裝幀:平裝
叢書:華章科技·名家經典系列
ISBN:9787111576587

內容簡介

這是一本內容豐富而又通俗易懂的書籍,由優秀的軟體設計師 Alexander A. Stepanov 與其同事 Daniel E. Rose 所撰寫。作者在書中解釋泛型編程的原則及其所依據的抽象數學概念,以幫助你寫出簡潔而強大的代碼。
只要你對編程相當熟悉,並且擅長邏輯思考,那么就可以順利閱讀本書。Stepanov 與 Rose 會清晰地講解相關的抽象代數及數論知識。他們首先解釋數學家想要解決的問題,然後告訴大家如何把這些數學解法轉化為泛型編程算法,並編寫出高效而優雅的代碼。為了演示數學原理在當前許多領域之中的運用,作者會以相關的數學結論及泛型算法來實現一套實用的公鑰加密系統。
在閱讀本書的過程中,你將掌握高效編程的思路,並學會怎樣在保持效率的前提下,對適用範圍較窄的算法做推廣。這可以讓你深刻地領悟到:數學與編程相結合有著什麼樣的意義。無論採用何種程式語言與編程範式,數學思想都能給編程工作帶來巨大的價值。

作者簡介

Alexander A. Stepanov 從1972年開始編程,1977年由蘇聯移民美國之後,繼續從事編程工作。他編寫過作業系統、編程工具、編譯器與各種程式庫,1995年他因C++標準模板庫的設計,獲得了《Dr. Dobb’s Journal》的程式設計傑出貢獻獎(Excellence in Programming Award)。

目錄

譯者序
致謝
作者簡介
作者附言
第1章 內容提要 1
1.1 編程與數學 1
1.2 從歷史的角度來講解 2
1.3 閱讀準備 3
1.4 各章概述 3
第2章 算法初談 5
2.1 埃及乘法算法 6
2.2 改進該算法 9
2.3 本章要點 12
第3章 古希臘的數論 13
3.1 整數的幾何屬性 13
3.2 篩選素數 15
3.3 實現該算法並最佳化其代碼 18
3.4 完美數 23
3.5 畢達哥拉斯學派的構想 26
3.6 畢氏構想中的嚴重缺陷 28
3.7 本章要點 31
第4章 歐幾里得算法 33
4.1 雅典與亞歷山大 33
4.2 歐幾里得的最大公度量算法 36
4.3 缺乏數學成就的一千年 40
4.4 奇怪的0 42
4.5 求余及求商算法 44
4.6 用同一份代碼來實現求余及求商 47
4.7 對最大公約數算法進行驗證 49
4.8 本章要點 51
第5章 現代數論的興起 52
5.1 梅森素數與費馬素數 52
5.2 費馬小定理 57
5.3 消去 59
5.4 證明費馬小定理 63
5.5 歐拉定理 65
5.6 模運算的套用 69
5.7 本章要點 69
第6章 數學中的抽象 71
6.1 群 71
6.2 么半群與半群 74
6.3 與群有關的定理 77
6.4 子群及循環群 80
6.5 拉格朗日定理 82
6.6 理論與模型 86
6.7 舉例說明範疇理論與非範疇理論 89
6.8 本章要點 92
第7章 推導泛型算法 94
7.1 釐清算法所應滿足的要求 94
7.2 對模板參數A提出要求 95
7.3 對模板參數N提出要求 98
7.4 提出新的要求 100
7.5 將乘法算法改編為冪算法 102
7.6 對運算本身加以泛化 103
7.7 計算斐波那契數 106
7.8 本章要點 109
第8章 更多代數結構 110
8.1 斯蒂文、多項式及最大公約數 110
8.2 哥廷根與德國數學 115
8.3 埃米·諾特與抽象代數的誕生 120
8.4 環 121
8.5 矩陣乘法與半環 124
8.6 半環的運用:社交網路與最短路徑 125
8.7 歐幾里得整環 127
8.8 域及其他的代數結構 128
8.9 本章要點 129
第9章 整理數學知識 132
9.1 證明 132
9.2 數學史上的第一個定理 135
9.3 歐幾里得與公理化方法 137
9.4 與歐氏幾何並立的其他幾何學 139
9.5 希爾伯特的形式化方法 141
9.6 皮亞諾與他的公理 144
9.7 用皮亞諾公理來構建算術體系 147
9.8 本章要點 149
第10章 編程的基本概念 150
10.1 亞里士多德與抽象 150
10.2 值與類型 152
10.3 concept 153
10.4 疊代器 156
10.5 疊代器的種類、所支持的操作及所具備的特性 157
10.6 區間 160
10.7 線性搜尋 162
10.8 二分搜尋 163
10.9 本章要點 167
第11章 置換算法 169
11.1 置換與換位 169
11.2 交換兩個區間內的元素 172
11.3 旋轉 175
11.4 利用循環來執行旋轉 178
11.5 倒置 182
11.6 空間複雜度 186
11.7 記憶體自適應算法 187
11.8 本章要點 188
第12章 再論最大公約數算法 189
12.1 硬體的限制催生出更為高效的算法 189
12.2 Stein 算法的推廣 192
12.3 貝祖等式 194
12.4 擴展最大公約數算法 198
12.5 最大公約數算法的運用 202
12.6 本章要點 203
第13章 實際運用 204
13.1 密碼學 204
13.2 素數測試 206
13.3 米勒–拉賓素數測試 209
13.4 RSA算法的步驟及原理 211
13.5 本章要點 214
第14章 全書總結 215
延伸閱讀 217
附錄A 記法 222
附錄B 常用的證明辦法 225
附錄C 寫給非 C++ 程式設計師看的C++ 知識 228
參考文獻 237
中英文辭彙對照表 241

叢書信息

華章科技·名家經典系列 (共5冊), 這套叢書還有 《算法心得:高效算法的奧秘(原書第2版)》,《修改代碼的藝術》,《軟體驅魔》,《Windows運行時編程權威指南》

相關詞條

熱門詞條

聯絡我們