第6章 遞迴——自己定義自己
漢諾塔問題
遞推公式(recursion relation, recurrence)
解析式:只使用n表示h(n)的式子。
在問題中找出遞迴結構——> 建立遞迴公式
階乘的遞迴定義:n!=n×n(n-1)!
遞迴和歸納:
同:都是「將複雜問題簡化」;
異:「從一般性前提退出個別性結論」——遞迴;「從個別性前提推出一般性結論」——歸納。
斐波那契數列
思考題:不斷繁殖的動物
斐波那契數列例子:
擺磚頭、創作旋律、鸚鵡螺的內壁間隔、葵花種子的排法、植物枝葉的長法、「一次走1階或2階,爬n層階梯的方法」
帕斯卡三角形:每個數字都是上方與它相鄰的兩數之和。
帕斯卡三角形中出現組合數的原因:「相鄰兩數相加」和「n中選k的組合數」的計算物件相同。
遞迴定義組合數:
組合的數學分析法
找出問題中的遞迴結構的步驟:
從n層的整體問題中隱去部分問題 -> 判斷剩餘部分是否是n-1層的問題
遞迴圖形:樹、謝爾平斯基三角形(sierpinski gasket, sierpinski ********)
分形圖:含有遞迴結構的圖形。
程式設計師的數學
封面 內容簡介 如果數學不好,是否可以成為一名程式設計師呢?答案是肯定的。本書最適合 數學糟糕但又想學習程式設計的你。沒有晦澀的公式,只有好玩的數學題。幫你掌握程式設計所需的 數學思維 日文版已重印14次!程式設計的基礎是電腦科學,而電腦科學的基礎是數學。因此,學習數學有助於鞏固程式設計的基礎,寫出...
程式設計師的數學
0 明確表現可 無即是有 換言之,就是不對 無 進行特別處理。引入 0 以後,更容易簡化規則。如果找出具有一致性的簡單的規則,則便於機械式處理,讓計算機來解決問題。邏輯基本上被分為 true 和 false 兩個世界。解決問題時,並不是眉毛鬍子一起抓,而應該根據某條件分為 條件成立 和 條件不成立 ...
程式設計師的數學 目錄
貌似是2013還是哪年,不記得了,在程式設計師的世界颳起一陣數學風,數學之美啥的,當時也想看看關於數學的書,感覺大學的數學知識似乎還給老師了,可能需要看看初級一點的數學書,搜尋了一下書評,就找了這本。當時隨便翻翻,也就放下了,需要學習的東西很多,而時間總是不夠。到了2015年末,找出個週末看了下這本...