讀《程式設計師的數學》有感

2021-07-11 15:53:23 字數 1458 閱讀 7017

因為本人數學不佳,邏輯思維也不強,最近想提公升一下自己的數學素養和邏輯思維能力,於是去圖書館借來了《程式設計師的數學》一書,拜讀之後,有所思有所想,總結如下。

總體來說,這本書對於學習了高中數學的人和有最基礎的程式設計知識(甚至沒有)的人來說,都是可以看懂的。本人雖不優秀,但是上過大學之後,看這本書確實覺得內容不是很有深度,但是其中確實有些思想,值得我們學習和研究。

在看書的時候,我也總結了一些自認為比較重要的內容,記錄如下:

(1) 在十進位制計數法中,位數少,但數字種類多——>>對人類來說比較容易使用;

在二進位制計數法中,位數多,但是數種類少——>>對計算機來說比較容易使用。

(2) 羅馬數字中,使用i表示1,使用v表示5,使用x表示10,使用l表示50,使用c表示100,使用d表示500,使用m表示1000。

舉例:mcmxcviii=(m)+(cm)+(xc)+(v)+(iii)

=(1000)+(1000-100)+(100-10)+(5)+(3)

=1998

(3) 在考慮規則時,兼顧完全性和排他性。

完整性:沒有遺漏,由此明確該規則無論什麼情況下都能適用;

排他性:沒有重複,由此明確該規則不存在矛盾之處。

(4) 注意在邏輯運算中,除了true和false,還存在undefined這個狀態,這就是包含未定義狀態。

(5) 運用餘數,大數字的問題就能夠簡化成小數字的問題來解決。

| |

——>>餘數一般要結合週期性來使用。

(6) 數學歸納法是證明斷言對於0以上的所有整數n都成立的方法。

(7) 容斥原理:考慮了重複元素的加法法則。

(8) 置換是排列的特殊情況,置換和排列都需要考慮順序,而組合是不考慮順序的方法。

組合的實現:先考慮書序進行計數,然後取出重複度。

去除重複度的重點是要知道重複度是多少,重複度就是選取數量的排列數。

(9) 組合:從n中去k的組合

從以上公式可以清楚的看出,置換和組合相結合(相乘)就是排列。

(10) 遞迴和歸納的本質是相同的,都是將複雜問題簡化。但是它們的方向不同:

(11)停機問題可以證明「不可解問題」確實存在。

| |

———>>>停機問題就是判斷「某程式在給定的資料下,是否會在有限時間內結束執行」的問題。

| |

———>>>可以通過反證法來證明無法判斷。

以上就是我在這本書中看到的一些自認為比較有價值的東西,在這裡與大家分享。如果其中有錯誤之處,敬請指正,不勝感激。

讀《程式設計師的數學》

日本人 結城浩 2012年11月 第1 版 條件分支和邏輯 迴圈和數學歸納法 分類和計數方法 0 的作用 佔位統一標準,簡化規則 印度人 引進巴比倫計數法的同時,認識到0也是數字 並採用了10進製計數法,0 9 被稱為阿拉伯數字而不是印度數字 可能是因為阿拉伯學者將印度數學引入的西歐。邏輯 邏輯是消...

讀《瘋狂的程式設計師》有感

今天突然看到乙個標題 瘋狂的程式設計師 無意開啟一下,看了一下。讀了一點,感覺有興趣,便down了個txt下來看,夫人在看電視,我用這個時間一口氣讀完了這篇 真正用文本來描述這群內心寂寞,不分白天黑夜,也不知道有何追求的人的行為與心態,至少我還沒讀到過。自己也算不得專科和真正的程式設計師。但是只要在...

讀《程式設計師羊皮卷》有感

學了三年的電腦科學與技術,面臨畢業了,緊張與迷茫困惑著我。作為應屆畢業生,沒有經驗,沒有人脈,不夠穩重,唯一擁有的激情也快被打擊到崩潰。程式設計師羊皮卷 給了我很大的幫助和提示,我從中了解了程式設計師在職場中會遇到的各種情況,以及解決的方法,在此寫出來跟大家分享一下,希望給未讀這本書的人帶來些許的幫...