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