1、無窮級數:
無窮項相加居然為有限的和软免,可以思考下芝諾悖論兼砖。
更多例子:
無限循環(huán)小數,比如3.3333... = 31.111... = 3(1+0.1+0.01+0.001....) = 1/3
2灌危、遞歸、分治等思想:
在時間足夠多的前提下碳胳,要解決一件事情勇蝙,只要能把事情的規(guī)模逐步的降下來,那么最終問題肯定可以得到解決固逗。
3浅蚪、以前做數學題目時候藕帜,碰到多次一邊抽水烫罩,一邊放水的題,感覺出題的真傻逼洽故,世界上怎么會有這么sb的水庫管理員贝攒。能不能現實點啊时甚?太不懂得節(jié)約環(huán)保了……直到現在邊充電邊玩手機隘弊,我才明白哈踱,當時還太年輕。
4梨熙、突然想开镣,如果有一天我們可以用這樣子的高級語言進行編程那就好了。
5咽扇、設計哲學——RISC與CISC:
計算機開始計算的時候總是想讓一條指令做很多事情邪财,出來了很多復雜的指令,這就是CISC质欲,但是后面越來越復雜導致整體CPU設計復雜并且效率反而下降了树埠,因為為了照顧更多復雜的指令,CPU設計整體速度就被拖慢了嘶伟,比如流水線就不能很好地利用怎憋。這時誰又會想到用部分常用的簡單指令(20%的指令在80%的時間用到)加上編譯器優(yōu)化,簡單的指令CPU設計的時候優(yōu)化起來也快九昧。這是否可以給我們做事情的時候一個啟發(fā)呢绊袋?抓住主要精力先攻克簡單的80%,最后有精力再去做好20%铸鹰。
6愤炸、信息往往是優(yōu)化效率的一個很有用的東西:
比如緩存,虛擬存儲掉奄,其利用的原理基本上都是程序的局部性原理规个,利用這么簡答的一個原理,卻給我們帶來了不可思議的效果姓建,內存讀取速度接近緩存诞仓,價格接近內存,容量接近輔存速兔,嘖嘖嘖J谩!涣狗!
7谍婉、分層(隔離)在編程中的優(yōu)缺點:
分層在程序設計中的例子:
- cache緩存由硬件來實現
- 虛擬內存等資源管理由操作系統(tǒng)來實現
- 網絡協(xié)議的設計
- 進程,進程使程序員感覺到好像每次寫一個程序都分配了一個CPU一樣镀钓,設想下穗熬,如果還是前后臺的程序設計,那么程序員每次寫程序都需要注意下可能其他程序的運行情況....
優(yōu)點:使問題簡單化丁溅,在設計好程序的整體框架后唤蔗,如果分層分得好,那么作為程序員在不同階段實現不同的程序會減少程序員的負擔。比如我覺得Cache緩存這件事情由硬件來做是相當正確的妓柜,如果由程序員來做箱季,那么程序員的效率可能會大大折扣。
缺點:問題分層次進行解決了棍掐,但是各個層次之間可能出現重復解決問題(遞歸實現斐波那契數列就是這個例子)藏雏、層次之間交換信息效率低下(網絡協(xié)議一層層的實現使得最后發(fā)出去的內容有時遠多于實際要發(fā)送的信息)的缺點。
取舍:我是比較傾向于實現程序分層的作煌,可以大大節(jié)省程序員的時間诉稍,有必要的時候再進行局部的一些優(yōu)化即可。