第1章 ?0的故事
按位計數(shù)法:
例:

5是個數(shù),10是基數(shù)或底,3是指數(shù)。
10進制轉(zhuǎn)換為2進制稱為基數(shù)轉(zhuǎn)換。
2進制和10進制的優(yōu)缺點:
1.在10進制計數(shù)法中,位數(shù)少,但是數(shù)字的種類多。
人類有10根指頭,要靠直覺來把握數(shù)字的大小,對人類來說,這種比較易用。
2.在2進制計數(shù)法中,數(shù)字的種類少,但是數(shù)位多。
計算機處理的數(shù)字種類少、計算規(guī)則相對簡單,對計算機來說,這種比較易用。
非按位計數(shù)法:如羅馬計數(shù)法,最主要的特征是沒有0
指數(shù)法則:

10的0次方是什么?10的2次方是‘2個10相乘’,那么10的0次方不就是‘0個10相乘’嗎?這樣的話,不應該是1,而是0吧?
尋找它們的規(guī)律

我們發(fā)現(xiàn)指數(shù)每減1,數(shù)字就變?yōu)樵瓉淼?0分之1??梢酝茖С??為1.10的1-次方順便也可以推導出來是1/10。
0的作用:?
在按位計數(shù)法中,數(shù)位具有很重要的意愿。比如十位的數(shù)‘沒有’,也不能不寫數(shù)字,0的作用就是占位。
為什么人類要發(fā)明計數(shù)法呢?
數(shù)越大越難處理,方法就是將大問題分解為小‘單元’。
第2章 ?邏輯
邏輯:消除自然語言的歧義、嚴密準確地記述事物的工具。
生活中的自然語言歧義例子:12月份或者低于10°的時候打開暖氣。小明在北京或者上海。
同樣的‘或者’,不一樣的意思。第一個或者沒有排他性,12月份并且低于10°還是會打開暖氣。而小明在北京就沒法同時在上海。
在遇到大問題時,通常將其分解為多個小問題。這時常用的方法就是檢查它的完整性(沒有遺漏)和排他性(沒有重復)。
圖表能幫我們更好的理解事物的邏輯關(guān)系,常用的有邏輯表達式、真值表、文氏圖、卡諾圖。
第3章 ?余數(shù)
運用余數(shù),大數(shù)字的問題就能簡化為小數(shù)字的問題。
人們只要發(fā)現(xiàn)了周期性和奇偶性,就能將大問題轉(zhuǎn)換為小問題來解決。
本章例子,100天后星期幾問題、草鞋鋪設問題、格尼斯七橋問題。
第4章 ?數(shù)學歸納法
數(shù)學歸納法:證明有關(guān)整數(shù)的斷言對于0以上的所有整數(shù)是否成立所用的方法。
步驟1:證明“P(0)成立”。
步驟2:證明不論k為0以上的哪個整數(shù),“若P(k)成立,則P(k+1)也成立”。
用人話說就是:先證明一條腿可以往前邁一步,然后證明另一條腿無論什么情況都能邁出去,最終證明人可以到達無限的遠方,這就是數(shù)學歸納法??梢韵胂蠖嗝字Z骨牌。
第5章 ?排列組合
置換:將n個事物按順序進行排列的總數(shù)。

排列:從n個事物中取出k個進行排列的總數(shù)。

組合:從n個事物中取出k個進行排列,并且不考慮順序的總數(shù)。

公式的意思,先考慮順序進行計數(shù),然后除以重復度。
排列=置換*組合,例如:有ABCDE5張牌,3張的置換*從5張取3張的組合=從5張中取3張的排列。
第6章 ?遞歸
在計算機編程里,遞歸指的是一個過程:函數(shù)不斷引用自身,直到引用的對象已知。
遞歸的條件:
1. 子問題須與原始問題為同樣的事,且更為簡單;
2. 不能無限制地調(diào)用本身,須有個出口,化簡為非遞歸狀況處理。
遞歸和歸納,只是方向不同。“從一般性前提推出個別性結(jié)論”的是遞歸(recursive)的思想。而“從個別性前提推出一般性理論”的是歸納(inductive)的思想。
編程時會遇到的遞歸結(jié)構(gòu),如程序源代碼縮進、樹形數(shù)據(jù)結(jié)構(gòu)、XML語法、快速排序算法等。
遞歸的要點在于把握結(jié)構(gòu),分解問題。
第7章 ?指數(shù)爆炸
指數(shù)的概念:在乘方a中,其中的a叫做底數(shù),n叫做指數(shù),結(jié)果叫冪。
f(x)=a^x (a為常數(shù),x為指數(shù)) 隨著x單位長度的遞增,f(x)會呈“爆炸性”增長

二分法就是指數(shù)爆炸思想的反向?qū)嵤?/p>
處理指數(shù)爆炸的4種方法:1.極力求解2.變相求解3.近似求解4.概率求解
第8章 ? 不可解問題
停機問題,無限循環(huán)等。