內容簡介
編程的基礎是計算機科學,而計算機科學的基礎是數學。因此,學習數學有助於鞏固編程的基礎,寫出更健壯的程式。
本書面向程式設計師介紹了編程中常用的數學知識,藉以培養初級程式設計師的數學思維。讀者無需精通編程,也無需精通數學,只需具備四則運算和乘方等基礎知識,就可以閱讀本書。
書中講解了二進制計數法、邏輯、餘數、排列組合、遞歸、指數爆炸、不可解問題等許多與編程密切相關的數學方法,分析了哥尼斯堡七橋問題、少年高斯求和方法、漢諾塔、斐波那契數列等經典問題和算法。引導讀者深入理解編程中的數學方法和思路。
本書還對程式設計師和計算機的分工進行了有益的探討。讀完此書,你會對以程式為媒介的人機合作有更深刻的理解。
作者簡介
結城浩(Hiroshi Yuki)
生於1963年,日本資深技術作家和程式設計師。在程式語言、設計模式、數學、加密技術等領域,編寫了很多深受歡迎的入門書。代表作有《數學女孩》系列、《程式設計師的數學》等。
畢業於復旦大學日語系。現為對日軟體工程師,多年日語技術文檔編寫經驗。愛好日漢翻譯和日本文化史,譯有《明解C語言:入門篇》等。
目錄
第1章 0 的故事
——無即是有
本章學習內容 2
國小一年級的回憶 2
10 進制計數法 3
什麼是10 進制計數法 3
分解2503 3
2 進制計數法 4
什麼是2進制計數法 4
分解1100 5
基數轉換 6
計算機中為什麼採用2 進制計數法 8
按位計數法 10
什麼是按位計數法 10
不使用按位計數法的羅馬數字 11
指數法則 12
10 的0 次方是什麼 12
10-1 是什麼 13
規則的擴展 14
對20 進行思考 14
2-1 是什麼 15
0 所起的作用 16
0 的作用:占位 16
0 的作用:統一標準,簡化規則 16
日常生活中的0 17
人類的極限和構造的發現 18
重溫歷史進程 18
為了超越人類的極限 19
本章小結 20
第2章 邏輯
——真與假的二元世界
本章學習內容 22
為何邏輯如此重要 22
邏輯是消除歧義的工具 22
致對邏輯持否定意見的讀者 23
乘車費用問題——兼顧完整性和排他性 23