程序員的數學

程序員的數學 pdf epub mobi txt 电子书 下载 2025

[日] 結城浩 著,管傑 譯
想要找书就要到 求知書站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 人民邮电出版社
ISBN:9787115293688
版次:1
商品编码:11094250
包装:平装
丛书名: 图灵程序设计丛书
开本:16开
出版时间:2012-11-01
用纸:胶版纸
页数:232
字数:264000
正文语种:中文

具体描述

産品特色

編輯推薦

  

  如果數學不好,是否可以成為一名程序員呢?答案是肯定的。 《程序員的數學》適閤:數學糟糕但又想學習編程的你
  沒有晦澀的公式,隻有好玩的數學題。
  幫你掌握編程所需的“數學思維”。
  日文版已重印14次!

內容簡介

  《圖靈程序設計叢書:程序員的數學》麵嚮程序員介紹瞭編程中常用的數學知識,藉以培養初級程序員的數學思維。讀者無需精通編程,也無需精通數學,隻需具備四則運算和乘方等基礎知識,就可以閱讀《程序員的數學》。  書中講解瞭二進製計數法、邏輯、餘數、排列組閤、遞歸、指數爆炸、不可解問題等許多與編程密切相關的數學方法,分析瞭哥尼斯堡七橋問題、高斯求和方法、漢諾塔、斐波那契數列等經典問題和算法。引導讀者深入理解編程中的數學方法和思路。  《程序員的數學》適閤程序設計人員以及編程和數學愛好者閱讀。

作者簡介

  結城浩(Hiroshi Yuki),生於1963年,日本專業技術作傢和程序員。在編程語言、設計模式、數學、加密技術等領域,編寫瞭很多深受歡迎的入門書。代錶作有《數學女孩》係列、《程序員的數學》等。


  管傑,畢業於復旦大學日語係。現為對日軟件工程師,多年日語技術文檔編寫經驗。愛好日漢翻譯和日本文化史,譯有《明解C語言:入門篇》等。

內頁插圖

目錄

第1章 0的故事——無即是有
本章學習內容
小學一年級的迴憶
10進製計數法
什麼是10進製計數法
分解2503
2進製計數法
什麼是2進製計數法
分解1100
基數轉換
計算機中為什麼采用2進製計數法
按位計數法
什麼是按位計數法
不使用按位計數法的羅馬數字
指數法則
10的0次方是什麼
10-1是什麼
規則的擴展
對20進行思考
2-1是什麼
0所起的作用
0的作用:占位
0的作用:統一標準,簡化規則
日常生活中的0
人類的極限和構造的發現
重溫曆史進程
為瞭超越人類的極限
本章小結

第2章 邏輯——真與假的二元世界
本章學習內容
為何邏輯如此重要
邏輯是消除歧義的工具
緻對邏輯持否定意見的讀者
乘車費用問題——兼顧完整性和排他性
車費規則
命題及其真假
有沒有“遺漏”
有沒有“重復”
畫一根數軸輔助思考
注意邊界值
兼顧完整性和排他性
使用if語句分解問題
邏輯的基本是兩個分支
建立復雜命題
邏輯非——不是A
邏輯與——A並且B
邏輯或——A或者B
異或——A或者B(但不都滿足)
相等——A和B等
蘊涵——若A則B
囊括所有瞭嗎
德·摩根定律
德·摩根定律是什麼
對偶性
卡諾圖
二燈遊戲
首先藉助邏輯錶達式進行思考
學習使用卡諾圖
三燈遊戲
包含未定義的邏輯
帶條件的邏輯與(&&)
帶條件的邏輯或(||)
三值邏輯中的否定(!)
三值邏輯的德?摩根定律
囊括所有瞭嗎
本章小結

第3章 餘數——周期性和分組
本章學習內容
星期數的思考題(1)
思考題(100天以後是星期幾)
思考題答案
運用餘數思考
餘數的力量——將較大的數字除一次就能分組
星期數的思考題(2)
思考題(10100天以後是星期幾)
提示:可以直接計算嗎
思考題答案
發現規律
直觀地把握規律
乘方的思考題
思考題(1234567987654321)
提示:通過試算找齣規律
思考題答案
迴顧:規律和餘數的關係
通過黑白棋通信
思考題
提示
思考題答案
奇偶校驗
奇偶校驗位將數字分為兩個集閤
尋找戀人的思考題
思考題(尋找戀人)
提示:先試算較小的數
思考題答案
迴顧
鋪設草席的思考題
思考題(在房間裏鋪設草席)
提示:先計算一下草席數
思考題答案
迴顧
一筆畫的思考題
思考題(哥尼斯堡七橋問題)
提示:試算一下
提示:考慮簡化一下
提示:考慮入口和齣口
思考題答案
奇偶校驗
本章小結

第4章 數學歸納法——如何徵服無窮數列
本章學習內容
高斯求和
思考題(存錢罐裏的錢)
思考一下
小高斯的解答
討論一下小高斯的解答
歸納
數學歸納法——如何徵服無窮數列
0以上的整數的斷言
高斯的斷言
什麼是數學歸納法
試著徵服無窮數列
用數學歸納法證明高斯的斷言
求齣奇數的和——數學歸納法實例
奇數的和
通過數學歸納法證明
圖形化說明
黑白棋思考題——錯誤的數學歸納法
思考題(黑白棋子的顔色)
提示:不要為圖所惑
思考題答案
編程和數學歸納法
通過循環錶示數學歸納法
循環不變式
本章小結

第5章 排列組閤——解決計數問題的方法
本章學習內容
計數——與整數的對應關係
何謂計數
注意“遺漏”和“重復”
植樹問題——不要忘記0
植樹問題思考題
加法法則
加法法則
乘法法則
乘法法則
置換
置換
歸納一下
思考題(撲剋牌的擺法)
排列
排列
歸納一下
樹形圖——能夠認清本質嗎
組閤
組閤
歸納一下
置換、排列、組閤的關係
思考題練習
重復組閤
也要善於運用邏輯
本章小結

第6章 遞歸——自己定義自己
本章學習內容
漢諾塔
思考題(漢諾塔)
提示:先從小漢諾塔著手
思考題答案
求齣解析式
解齣漢諾塔的程序
找齣遞歸結構
再談階乘
階乘的遞歸定義
思考題(和的定義)
遞歸和歸納
斐波那契數列
思考題(不斷繁殖的動物)
斐波那契數列
帕斯卡三角形
什麼是帕斯卡三角形
遞歸定義組閤數
組閤的數學理論解釋
遞歸圖形
以遞歸形式畫樹
實際作圖
謝爾平斯基三角形
本章小結

第7章 指數爆炸——如何解決復雜問題
本章學習內容
什麼是指數爆炸
思考題(摺紙問題)
指數爆炸
倍數遊戲——指數爆炸引發的難題
程序的設置選項
不能認為是“有限的”就不假思索
二分法查找——利用指數爆炸進行查找
尋找犯人的思考題
提示:先思考人數較少的情況
思考題答案
找齣遞歸結構以及遞推公式
二分法查找和指數爆炸
對數——掌握指數爆炸的工具
什麼是對數
對數和乘方的關係
以2為底的對數
以2為底的對數練習
對數圖錶
指數法則和對數
對數和計算尺
密碼——利用指數爆炸加密
暴力破解法
字長和安全性的關係
如何處理指數爆炸
理解問題空間的大小
四種處理方法
本章小結

第8章 不可解問題——不可解的數、無法編寫的程序
本章學習內容
反證法
什麼是反證法
質數思考題
反證法的注意事項
可數
什麼是可數
可數集閤的例子
有沒有不可數的集閤
對角論證法
所有整數數列的集閤是不可數的
所有實數的集閤是不可數的
所有函數的集閤也是不可數的
不可解問題
什麼是不可解問題
存在不可解問題
思考題
停機問題
停機
處理程序的程序
什麼是停機問題
停機問題的證明
寫給尚未理解的讀者
不可解問題有很多
本章小結

第9章 什麼是程序員的數學——總結篇
本章學習內容
何為解決問題
認清模式,進行抽象化
由不擅長催生齣的智慧
幻想法則
程序員的數學
……

精彩書摘

  ◎課前對話
  老師:假設現在有一排多米諾骨牌。如何將它們全部推倒呢?
  學生:這個簡單!隻要將它們排列成其中1 個一倒就能順次帶倒下一個的形狀就行瞭。
  老師:這樣還不夠喔!
  學生:啊?為什麼呢?
  老師:因為還需要推倒第一個多米諾骨牌。
  學生:那不是理所當然的嘛!
  老師:正是!這樣你就能理解數學歸納法的兩個步驟瞭。
  本章學習內容
  本章我們要學習的是數學歸納法。數學歸納法是證明某斷言對於0 以上的所有整數(0,1,2,3…)都成立的方法。整數0,1,2,3…有無窮個,但若使用數學歸納法,隻需經過"2個步驟",就能證明有關無窮的命題。
  首先,我們以求齣1 到100 之和為例介紹數學歸納法。接著會穿插幾道思考題來看一下數學歸納法的具體實例。最後,我們會討論數學歸納法和編程的關係,一起瞭解一下循環不變式。
  高斯求和
  思考題(存錢罐裏的錢)
  思考題(存錢罐裏的錢)
  在你麵前有一個空存錢罐。
  第1 天,往存錢罐裏投入1 元。存錢罐中總金額為1 元。
  第2 天,往存錢罐裏投入2 元。存錢罐中總金額為1 + 2 = 3 元
  第3 天,往存錢罐裏投入3 元。存錢罐中總金額為1 + 2 + 3 = 6 元
  第4 天,往存錢罐裏投入4 元。存錢罐中總金額為1 + 2 + 3 + 4 = 10 元
  那麼,每天都這樣往存錢罐裏投入硬幣的話,第100 天時的總金額為多少呢?
  思考一下
  本題要求算齣第100 天時存錢罐的總金額。要求齣第100 天的金額,隻要計算1 + 2 + 3+ … + 100 的值就行瞭。那麼,具體應如何計算呢?
  一般來說,最先想到的肯定是機械地將它們逐個相加。1 加2,再加3,再加4,…再加99,再加100。隻要這樣加起來就能得齣答案瞭吧。如果說筆算比較花時間的話,也可以使用計算器或編程來計算。
  不過,德國數學傢高斯在9 歲時遇到瞭同樣的問題,卻馬上得齣瞭答案。當時他既沒用計算器也沒用電腦。那麼,他究竟是如何做到的呢?
  小高斯的解答
  小高斯是這麼考慮的。
  1 + 2 + 3 + …+ 100 順次計算的結果和100 + 99 + 98 + …+ 1 逆嚮計算的結果應該是相等的。那麼,就將這兩串數字像下麵那樣縱嚮地相加。
  如此一來,就變成瞭101 + 101 + 101 + …+ 101 那樣100 個101 相加的結果。這樣的計算就非常簡單瞭。隻要將101 乘以100 即可,結果為10100。不過10100 是要求的數的2 倍,因此還得除以2,答案為5050。
  答案:5050 元。
  討論一下小高斯的解答
  小高斯的方法可謂絕妙非凡!
  為瞭便於大傢理解,我們將高斯的方法用圖來錶示。求1 + 2 + 3 + …+ 100 的結果,相當於計算圖4-1 所示的排列成階梯型的瓷磚塊數。
  圖4-1 將高斯的方法圖形化
  高斯則又做瞭一個一模一樣的階梯,並將兩者閤二為一,組成瞭一個長方形。
  圖4-2 將2個階梯組閤成1個長方形
  由2 個階梯組閤而成的長方形,縱嚮有101 塊瓷磚,橫嚮有100 塊瓷磚。因此,該長方形由101×100 = 10100 塊瓷磚構成。而所求的瓷磚塊數就是10100 的一半,即5050。
  我們來說一說高斯的計算效率。使用他的方法不需要花費力氣逐個相加。隻要將兩端的1 和100 相加,結果乘以100 再除以2 就行瞭。
  現在,假設我們不是從1 加到100,而是從1 加到10000000000(100 億)。這次我們就不能采用逐一相加的方法瞭。因為即使計算器1 秒能完成1 次加法計算,加到100 億也得花300 年以上的時間。
  不過,如果使用高斯的方法,那麼從1 加到100 億也隻要1 次加法、1 次乘法、1 次除法運算即可完事。我們來實際計算一下。
  高斯(Karl Friedrich Gauss, 1777 - 1855)後來成為瞭曆史上著名的數學傢。
  歸納
  高斯運用瞭以下等式。
  這裏,使用變量n,將"1 到100"歸納為"1 到n"。這樣,上麵的等式就變為如下形式
  那麼,這個等式對於0 以上的任意整數n 都成立嗎?即n 為100、200,或者100 萬、100 億時該等式也都成立嗎?如果成立的話,又如何來證明呢?
  這種時候就要用到數學歸納法瞭。數學歸納法是證明"斷言對於0 以上的所有整數n都成立"的方法。
  學生:"對於所有整數n",總覺得這種說法彆扭。
  老師:彆扭?
  學生:會感覺頭腦中充滿瞭整數。
  老師:那麼,改為"對於任一整數n"怎麼樣?
  學生:啊!那樣感覺稍微舒服些。
  老師:其實說的是一迴事呢!
  數學歸納法-- 如何徵服無窮數列
  本節,我們就來討論一下數學歸納法的相關內容。首先,從"0 以上的整數的斷言"開始學起,然後使用數學歸納法來證明高斯的斷言 。
  0以上的整數的斷言
  0 以上的整數n 的斷言",就是能夠判定0,1,2…等各個整數為"真"或"假"的斷言。這樣說明或許難以理解,下麵就舉幾個例子。.
  ● 例1
  o 斷言A (n ) :n ×2 為偶數。
  A(n),即"n×2 為偶數"的斷言。由於n 為0 時,0×2 = 0 為偶數,所以A(0) 為真。
  A(1) 又怎麼樣呢?因為1×2 = 2 為偶數,所以A(1) 也為真。
  那是否可以說斷言A(n),對於0 以上的所有整數n 都為真(對於0 以上的任意整數n都成立)呢?
  對!可以這麼說。因為0 以上的任意整數乘以2 的結果都為偶數,所以對於0 以上的所有整數,斷言A(n) 都為真。
  ● 例2
  o 斷言B (n ) :n ×3 為奇數
  那麼,斷言B(n) 又將如何呢?該斷言對於0 以上的所有整數n 都成立嗎?
  例如,假設n 為1,則斷言B(1) 就是"1×3 為奇數",這個結果為真。但不能說對於0以上的所有整數n,斷言B(n) 都為真。因為假設n 為2,則n×3 的值為2×3 = 6。而6 是偶數,所以斷言B(2) 不為真(為假)。
  n = 2 是推翻"斷言B(n) 對於0 以上的所有整數n 都成立"的反例。
  ● 其他例子
  那麼請思考一下,在下麵4 個斷言中,對於0 以上的所有整數n 都成立的有哪些。
  o 斷言C (n ) :n +1 為 0 以上的整數。
  o 斷言D (n ) :n -1 為 0 以上的整數。
  o 斷言E (n ) :n ×2 為 0 以上的整數。
  o 斷言F (n ) :n ÷2 為 0 以上的整數。
  斷言C(n),對於0 以上的所有整數n 都成立。因為若n 為0 以上的整數,則n + 1 肯定是0 以上的整數。
  斷言D(n),對於0 以上的所有整數n 不成立。例如,斷言D(0) 為假。因為0 -1 = -1,不是0 以上的整數。n = 0 是唯一的反例。
  斷言E(n),對於0 以上的所有整數n 都成立。
  斷言F(n),對於0 以上的所有整數n 不成立。因為當n 為奇數時,n÷2 的結果不是整數。
  高斯的斷言
  在討論瞭" 0 以上的整數n 的斷言"之後, 我們將話題轉迴高斯的斷言。
  可以使用下述有關n 的斷言形式來錶現高斯的觀點。
  o 斷言G(n) :0 到n 的整數之和為 。
  接下來要證明的是,"G(n) 對於0 以上的所有整數n 都成立"。可以通過描畫前麵的階梯狀的圖(圖4-1)來證明,但是有人可能會有這樣的疑問:0 以上的整數有0, 1, 2, 3,…等無窮個數字,而圖中錶現的隻是其中一種情況。 當G(1000000) 時也成立嗎?
  確實,0 以上的整數有無窮個。這就要通過引入"數學歸納法"來證明瞭。使用數學歸納法能夠進行0 以上的所有整數的相關證明。
  什麼是數學歸納法
  數學歸納法是證明有關整數的斷言對於0 以上的所有整數(0、1、2、3…)是否成立時所用的方法。
  假設現在要用數學歸納法來證明"斷言P(n)對於0 以上的所有整數n 都成立"。
  數學歸納法要經過以下兩個步驟進行證明。這是本章的核心內容,請大傢仔細閱讀。
  o 步驟1 :
  證明"P (0) 成立"。
  o 步驟2 :
  證明不論k 為0 以上的哪個整數,"若P (k ) 成立,則P (k +1) 也成立"
  在步驟1 中,要證明當k 為0 時斷言P(0) 成立。我們將步驟1 稱作基底(base)。
  在步驟2 中,要證明無論k 為0 以上的哪個整數,"若P( k ) 成立,則P (k+1) 也成立"。
  我們將步驟2 稱作歸納(induction)。該步驟證明斷言若對於0 以上的某個整數成立,則對於下一個整數也成立。
  若步驟1 和步驟2 都能得到證明,就證明瞭"斷言P (n) 對於0 以上的所有整數n 都成立"。
  以上就是數學歸納法的證明方法。
  試著徵服無窮數列
  數學歸納法通過步驟1(基底)和步驟2(歸納)兩個步驟,證明斷言P(n) 對於0 以上的所有整數n 都成立。
  為什麼隻通過兩個步驟的證明,就能證明無窮的n 呢?請作如下思考。
  o 斷言P (0) 成立。
  理由:步驟1 中已經證明。
  o 斷言P (1) 成立。
  理由:P (0) 已經成立,並且步驟2 中已證明若P (0) 成立,則P (1) 也成立。
  o 斷言P (2) 成立。
  理由:P (1) 已經成立,並且步驟2 中已證明若P (1) 成立,則P (2) 也成立。
  o 斷言P (3) 成立。
  理由:P (2) 已經成立,並且步驟2 中已證明若P (2) 成立,則P (3) 也成立。
  這樣循環往復,可以說斷言P(n) 對於任意數字n 都成立。無論n 為多大的數字都沒關係。因為即使設n 為10000000000000000,經過機械式地反復執行步驟2,終究可以證明P(10000000000000000)成立。
  這種數學歸納法的思路可以比喻為"推倒多米諾骨牌"。
  假設現在有很多多米諾骨牌排成一列。隻要保證以下兩個步驟,那麼無論多米諾骨牌排得有多長最終都能倒下。
  o 步驟1
  確保讓第0 個多米諾骨牌(排頭的多米諾骨牌)倒下。
  o 步驟2
  確保隻要推倒第k 個多米諾骨牌,那麼第k + 1 個多米諾骨牌也會倒下。推倒多米諾骨牌的兩個步驟和數學歸納法的兩個步驟一一對應。
  數學歸納法並不像"推倒多米諾骨牌"那樣關注用時。數學歸納法和編程不同,往往使用的是忽略時間的方法。這就是數學和編程之間最大的差異。
  用數學歸納法證明高斯的斷言
  下麵我們就以證明高斯的斷言G(n) 為例具體看看數學歸納法。首先討論斷言G(n)。
  o 斷言G(n) :0 到n 的整數之和與 相等。
  使用數學歸納法就需要通過步驟1(基底)和步驟2(歸納)來證明。
  ● 步驟1 :基底的證明
  證明G(0) 成立。
  G(0) 就是"0 到0 的整數之和與 相等"。
  這可以通過直接計算證明。0 到0 的整數之和是0,
  至此,步驟1 證明完畢。
  ● 步驟2 :歸納的證明
  證明當k 為0 以上的任一整數時,"若G(k) 成立,則G(k + 1) 也成立"
  現假設G(k) 成立。即假設"0 到k 的整數之和與 相等"。這時,以下等式成立。
  假設成立的等式G(k)
  下麵,我們來證明G(k + 1) 成立。
  要證明的等式G(k+1)
  G(k + 1) 的左邊使用假設的等式G(k) 可以進行如下計算。
  而G(k + 1)的右邊可以進行如下計算。
  G(k + 1) 的左邊和右邊的計算結果相同。
  由此,從G(k) 到G(k + 1) 推導成功,步驟2 得到瞭證明。
  至此,通過數學歸納法的步驟1 和步驟2 都證明瞭斷言G(n)。也就是說通過數學歸納法證明瞭斷言G(n) 對於0 以上的任意整數n 都成立。
  求齣奇數的和--數學歸納法實例
  本節,我們使用數學歸納法來證明另一個斷言。
  奇數的和
  請證明以下斷言Q(n) 對於1 以上的所有整數n 都成立。
  o 斷言Q (n ) :1 + 3 + 5 + 7 + … +(2 × n -1) = n2
  Q(n) 是比較有意思的斷言。按從小到大的順序將n 個奇數相加,得到n2,即平方數n ×n。
  這對嗎?在證明之前,先通過較小的數n = 1、2、3、4、5 判斷Q(n) 的真假。
  o 斷言Q (1) :1 = 12
  o 斷言Q (2) :1 + 3 = 22
  o 斷言Q (3) :1 + 3 + 5 = 32
  o 斷言Q (4) :1 + 3 + 5 + 7 = 42
  o 斷言Q (5) :1 + 3 + 5 + 7 + 9 = 52
  通過以上計算發現斷言確實是成立的。
  ……

前言/序言

   大傢好!我是結城浩。歡迎閱讀《程序員的數學》。
   本書是為程序員朋友們寫的數學書。編程的基礎是計算機科學,而計算機科學的基礎是數學。因此,學習數學有助於鞏固編程的基礎,寫齣健壯的程序。有的讀者可能會說“但我數學不好啊”。特彆是很多讀者“一碰到算式就跳過不讀”。坦率而言,我自己遇到書中的算式也想跳過不看。本書盡可能減少瞭“大傢不想看的算式”,也沒有過多的定義、定理和證明。這是為幫助程序員更容易理解編程而寫的書。希望你能通過本書學到有助於編程的“數學思維”。
   數學思維示例
   學習“數學思維”說起來太抽象瞭,我們來舉些具體的例子。
   【條件分支和邏輯】
   在編程時,我們按照條件將處理方法分為多個“分支”。C 語言和Java 語言中使用的是if 語句。處理方法為: 當滿足條件時執行這條語句,不滿足條件時執行另一語句。這時,我們就使用瞭數學領域的“邏輯”來控製程序。因此,編程時必須熟練掌握“ 與”“、或”“、非”、“蘊涵”等邏輯構成元素。
   【循環和數學歸納法】
   我們在處理大量的信息時,使用程序進行“循環”操作。比如使用for 語句可以循環處理大量數據。循環中使用的就是“數學歸納法”。
   【分類和計數方法】
   在將許多條件和數據“分類”時,程序員必須注意不能有遺漏。這時加法法則、乘法法則、排列、組閤等“計數方法”將助你一臂之力。這是程序員應該熟記於心的數學工具。通過本書,也可以學到遞歸、指數、對數、餘數等重要的基礎思維方式。
   人類和計算機的共同戰綫
   我們寫程序是為瞭解決人類解決不瞭的問題。程序員理解問題,編寫程序;計算機運行程序,解決問題。人類不擅長重復勞動,很容易厭倦,有時還會齣錯,但人類擅長解決問題。與此相對,計算機擅長重復勞動,但不能自行解決問題。於是,人機閤力,如虎添翼。遇到難題,光靠人類不能解決,光靠計算機也不能解決。而人機閤力就能解決問題。這也是本書要傳達的主旨之一。不過,編寫程序也非易事,無論人類和計算機如何齊心閤力,總有解決不瞭的問題。本書也對人類和計算機的極限進行瞭分析。希望你在讀完本書後能對以程序為媒介的人機閤作有更深刻的理解。
   本書麵嚮的讀者
   本書主要麵嚮的讀者是程序員。不過若你對編程或數學感興趣,讀起來也會一樣有意思。你不需要精通數學。書中不會齣現Σ和等很難的算式,因此自認為數學不太好的讀者也完全可以閱讀。閱讀本書隻需具備四則運算(+- ×÷)和乘方(23=2×2×2)等基礎知識。除此以外的知識在書中皆有說明。
   如果你對數字和邏輯感興趣,可能會更喜歡本書。你也不需要精通編程。不過如果稍有一些編程經驗,可能會更容易理解本書內容。書中有個彆例子是用C 語言寫的程序,不過即使不懂C 語言也不妨礙理解。
   本書結構
   本書各章內容可以按任意順序閱讀,但筆者推薦從第1 章開始按順序閱讀。第1 章對0 進行討論。以按位計數法為核心,學習如何用0 來簡化規則,並對“無即是有”的意義進行瞭思考。
   第2 章學習使用邏輯來整理繁瑣的內容。介紹邏輯錶達式、真值錶、德·摩根定律、三值邏輯、卡諾圖等。
   第3 章討論餘數。我們要記住“餘數就是分組”的觀點。對於一些難題,有時隻要找到周期性規律就能解決。
   第4 章學習數學歸納法。數學歸納法隻需要兩個步驟就能證明無窮的斷言。本章還會舉例介紹使用循環不變式寫齣正確的循環。
   第5 章學習排列組閤等計數方法。計數的關鍵在於“認清對象的性質”。
   第6 章學習自己定義自己的遞歸。通過漢諾塔、斐波那契數列、分形圖形等,練習從復雜事物中發現遞歸結構。
   第7 章學習指數爆炸。計算機也很難解決含有指數爆炸的問題。我們將在這裏思考研究如何將指數爆炸為我所用,解決大型問題。另外本章還將以二分法檢索為例,學習將問題空間一分為二的意義。
   第8 章以停機問題為例,來說明許多程序上的問題是計算機如何發展都解決不瞭的。本章也會學到反證法和對角論證法。
   第9 章迴顧本書學習內容,思考人類全麵把握結構的能力對解決問題有多大幫助,以及人機協作具有何種意義。
   緻謝
   首先要感謝馬丁·伽德納。小時候我癡迷於閱讀您所著的《數學遊戲》,至今仍記憶猶新。此外,還要感謝支持我的廣大讀者和為我祈禱的基督教朋友們。以下各位為本書提齣瞭寶貴建議並給予瞭極大幫助,在此深錶謝意(按日語五十音圖順序):天野勝、石井勝、岩澤正樹、上原隆平、佐藤勇紀、武笠夏子、前原正英、三宅喜義。特彆感謝在本書編寫過程中給予我極大關懷和支持的SoftBank 齣版有限公司的野澤喜美男主編。
   感謝一直鼓勵我的愛妻和兩個兒子。
   本書獻給在餐桌上教我方程式乃至微積分的父親。父親,謝謝您!
   2005 年2 月
   結城 浩

用户评价

评分

看看就是讲的太繁琐了 日本人生怕人不明白 给你又是类比又是担心你不懂

评分

通俗易懂,希望能把之前忘记的补回来。准备推荐给学生买。初中生可以理解

评分

面向程序员介绍了编程中常用的数学知识,借以培养初级程序员的数学思维。读者无需精通编程,也无需精通数学,只需具备四则运算和乘方等基础知识,就可以阅读《程序员的数学》。《程序员的数学》中讲解了二进制计数法、逻辑、余数、排列组合、递归、指数爆炸、不可解问题等许多与编程密切相关的数学方法,分析了哥尼斯堡七桥问题、高斯求和方法、汉诺塔、斐波那契数列等经典问题和算法。引导读者深入理解编程中的数学方法和思路。

评分

不错的商品,一直在京东买书之类的,物流很赞。

评分

我为什么喜欢在京东买东西,因为今天买明天就可以送到。我为什么每个商品的评价都一样,因为在京东买的东西太多太多了,导致积累了很多未评价的订单,所以我统一用段话作为评价内容,省时省力,还能得京东豆。总而言之、言而总之,在京东买东西又好又快!我为什么喜欢在京东买东西,因为今天买明天就可以送到。我为什么每个商品的评价都一样,因为在京东买的东西太多太多了,导致积累了很多未评价的订单,所以我统一用段话作为评价内容,省时省力,还能得京东豆。总而言之、言而总之,在京东买东西又好又快!

评分

这本书是别人推荐的,给老公买的,他说很不错,易懂,码农必备啊!

评分

书的内容好,值得一看。非常不错,可以入手。

评分

看看就是讲的太繁琐了 日本人生怕人不明白 给你又是类比又是担心你不懂

评分

东西已收到,买来随便看看。。

相关图书

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有