天天看點

《數學與泛型程式設計:高效程式設計的奧秘》一導讀

《數學與泛型程式設計:高效程式設計的奧秘》一導讀

如果将計算機科學與數學分離,那麼這兩者的發展都會有很大困難。于是,我們就試圖通過一些課程,把人類文明早期就有的數學活動與現代才有的計算機活動結合起來。本書正是基于這樣一種課程而編寫的。

能夠與友人Dan Rose合作,我深感榮幸。他的管理工作令我們團隊能夠把泛型程式設計的原則運用到搜尋引擎的設計上來,而且他願意把我原來那些相當分散的課程内容集結成現在這樣一本連貫的書籍。Dan和我都希望讀者能夠喜歡我們這次合作的成果。

——A.A.S.

大家将要閱讀的這本書是根據“Algorithmic Journeys”課程的筆記而撰寫的,該課程于2012年由Alex Stepanov在A9.com講授。當Alex與我合作把課程材料改編為書籍時,我們發現:其實可以将這些材料整理得更為集中一些,使其聚焦于泛型程式設計及其數學基礎。這個想法促使我們對本書要講解的話題進行了大幅度的調整,删掉了與集合論及邏輯有關的大段文字,因為那些内容似乎和本書要講的内容無關。同時,我們還對一些細節有所增删,以便大家能夠更加連貫地閱讀本書,并使那些數學知識較缺乏的讀者也能夠順暢地了解書中的内容。

Alex是數學專業出身,但我不是。是以,我很努力地試着去讀懂課程裡的一些材料,并根據自身體會來确定那些需要加以解說的難點。如果你發現本書所用的一些描述方式及術語和專業數學家稍有不同,或是本書在解釋某個問題時多寫了幾個簡單的步驟,那麼這應該歸咎于我才對。

——D.E.R.

<a href="https://yq.aliyun.com/articles/213187">第1章 内容提要</a>

<a href="https://yq.aliyun.com/articles/213190">1.1 程式設計與數學</a>

<a href="https://yq.aliyun.com/articles/213192">1.2 從曆史的角度來講解</a>

<a href="https://yq.aliyun.com/articles/213193">1.3 閱讀準備</a>

<a href="https://yq.aliyun.com/articles/213194">1.4 各章概述</a>

<a href="https://yq.aliyun.com/articles/213200">第2章 算法初談</a>

<a href="https://yq.aliyun.com/articles/213207">2.1 埃及乘法算法</a>

<a href="https://yq.aliyun.com/articles/213210">2.2 改進該算法</a>

<a href="https://yq.aliyun.com/articles/213211">2.3 本章要點</a>

<a href="https://yq.aliyun.com/articles/213212">第3章 古希臘的數論</a>

<a href="https://yq.aliyun.com/articles/213216">3.1 整數的幾何屬性</a>

<a href="https://yq.aliyun.com/articles/213219">3.2 篩選素數</a>

<a href="https://yq.aliyun.com/articles/213239">3.3 實作該算法并優化其代碼</a>

<a href="https://yq.aliyun.com/articles/213248">3.4 完美數</a>

<a href="https://yq.aliyun.com/articles/213252">3.5 畢達哥拉斯學派的構想</a>

<a href="https://yq.aliyun.com/articles/213256">3.6 畢氏構想中的嚴重缺陷</a>

<a href="https://yq.aliyun.com/articles/213260">3.7 本章要點</a>

繼續閱讀