程式設計珠璣閱讀筆記01

2022-06-20 05:03:11 字數 1107 閱讀 3220

在此案例分析中我們可以發現,這些事實所包含的第-乙個教訓是:仔細分析小問題

有時可以帶來巨大的實際好處。在本例中,花幾分鐘的時間來仔細分析,導致了**長

度、程式設計時間和執行時間減少了乙個數量級。chunk yeager將軍(第-乙個 飛行速度超過

音速的人)使用「簡單、較少的零部件、易於維護、非常強壯」這樣的詞彙來讚揚飛機

的引擎系統。該程式就包含了這些屬性。然而,如果需求規格的某些方面發生變化的話,

程式的特定結構將難於修改。本例除了極力宣揚巧妙程式設計外,還示範了下面的普遍原則:

怡當的問題。問題的定義要佔這場戰役的90%左右。讓人高興的是,程式設計師並不滿

足於我所描述的第乙個程式。如果你提出了恰當的問題,問題10、11 和12就有非常好

的解答;在參考提示和解答之前,請仔細思考一下這些問題。

位圖資料結構。此資料結構代表了有限域中的稠集(dense set),每乙個元素至少出

現一次,沒有其他的資料和元素相關聯。即使不滿足這些條件(例如存在多重元素或額

外資料時),也可以使用有限域中的鍵作為表索引(表具有更複雜的條目);請參考問題

6和8。

時間和空間之間的權衡,二者不可偏廢。有關時間和空間權衡的程式設計實踐和原理:

程式可以通過使用更多的執行時間來節省空間。例如,問題5答案中的兩通道演算法加倍

了程式的執行時間,以減半其空間。可是,就我個人最常有的體驗來說,減少程式空間

同時也要求減少其執行時間'。點陣圖的有效空間結構極大地減少了排序的執行時間。空間

的減少導致時間減少有兩個原因:需要處理的資料減少意味著處理它的時間也減少了;

將資料儲存在主存中而不是在磁碟中,可以避免訪問磁碟時所花費的時間開銷。當然,

只有初始設計離最優狀態差得很多時,才可能使時間和空間都得到改善成為可能。

去就敲**,這樣敲**小作業還好,但是一旦遇到大工程,就敲著敲著就亂了。書上也說:

仔細分析小問題

有時可以帶來巨大的實際好處

解決辦法:以後在敲**前要先思考,不能悶頭就敲

《程式設計珠璣》閱讀筆記01

從今天開始,要閱讀這本由jon bentley所編寫的 程式設計珠璣 從目錄中可以看出,第一部分中主要對演算法的見解比較深入,通過對第一章的閱讀,作者把程式設計的各種經典演算法進行了詳細的講解,同時,作者以自己的方式向讀者引入問題,然後利用演算法對問題進行解決,既吸引讀者思考,又鍛鍊了讀者的思考能力...

《程式設計珠璣》閱讀筆記03

該書的第三個大部分講述的是產品。前面的兩個部分,為第三部分打下基礎,前兩部分講述如何程式設計,以及怎樣程式設計可以是程式效率更高,效果更好,而這一部分則是將前兩部分所講述的內容應用到程式設計中去,通過實際應用講述章節 的技術所聚焦的焦點。在第三部分中,11章講述了幾個一般用途的排序演算法,12章講述...

《程式設計珠璣》閱讀筆記02

該書第二部分講述的是,效率,正如書中所說,簡單而功能強大的程式可以讓使用者高興,也不會讓程式構建者煩惱,而這就是程式設計師的終極目標,正如上一章所提到的,程式的簡練精悍才是真正重要的,而本章,作者開始講述程式效率的重要性。第6章講述了各種方法,以及他們之間如何作用,第7章講述了在早期的設計過程中所使...