第六周讀書筆記 《程式設計珠璣(第二版)》

2022-05-29 01:42:08 字數 966 閱讀 9039

本週我讀的書是美國jon bentley編寫的《程式設計珠璣(第二版)》。說實話,這本書裡面所提出的問題,大都需要我去細細思考,仔細揣摩,有時候作者輕描淡寫的幾句話,我也要思考一段時間來體會其中的演算法思想,一星期讀完只能說是囫圇吞棗吧,而且再加上有軟工結對程式設計的壓力,所以以後還是要細細研讀的。這本書使我印象深刻之點就在於,作者總是通過一些程式設計的小問題小例子來介紹程式設計的思想與技巧,尤其是作者所講的關於關於程式設計的思想,關於一些基本的演算法,總能讓人收益匪淺。

這本書的一開篇作者所介紹的關於磁碟檔案排序的問題估計讓很多讀這本書的人都印象深刻吧。當我乍一看到乙個如此大的排序問題時,我也感到難以回答,緊接著跟著作者的思路一路讀下去,雖然對於作者提到的一些類似於「位圖資料結構」、「多通道演算法」的名詞不了解,但是我還是被作者從問題中提煉出深刻而有意義的教訓的能力所折服。同時,作者所說的仔細分析小問題會帶來好處,恰當的問題對解決問題有很大幫助的道理對我們的程式設計甚至於我們人生處事都是有極大的幫助。這也讓我從第一章開始就對這本書有了很大的興趣。

作者在這本書中提及了一些對於程式設計師來說比較基礎的演算法思想,例如二分法、排序、標籤等等。我個人感覺作者比較強調二分法,。二分法對於我來說也是很熟悉了,早在c語言的課上就已經學過了。而跟隨著作者讀下去,彷彿有了更深的理解。作者從第二章「啊哈,演算法」引出了二分法並介紹了二分法的好處後,在第四五章又詳細地介紹了二分法及其程式實現,而在第九章**優化中又對二分法的程式進行了優化,可謂是對二分法情有獨鍾了。而我也在作者的引導下,再一次熟悉了二分法,它也成為我在讀完這本書後扎根在我腦海的詞之一了。熟悉的同時,我也在牢記作者強調的二分法的靈活的運用,以及演算法轉化為**時注意要點,還有測試除錯手段的應用,讓我收益很大。

這本書的作者擅長用乙個個小故事小問題來向我們展示豐富的程式設計方法和演算法思想,不是很難但是十分啟迪人思考,的確和書名一樣是字字珠璣了。唯一的遺憾是由於翻譯的原因,有些地方確實有些晦澀難懂短短一星期的時間確實很難將這本書真正理解,而這一星期的學習讓我對這本書產生了十分濃厚的興趣,看的很入迷,今後有機會定要將這本書在拿出來在細細研讀。

程式設計珠璣(第二版)讀書筆記 1 2

問題 乙個檔案f,包含最多1000萬條無序的 不重複的記錄,每條記錄都是乙個7位的十進位制正整數,利用1mb左右的記憶體空間,按照整數的大小對檔案進行公升序排序,將結果儲存到檔案fo中。分析 1mb記憶體,共有1024 1024 8 8388608bit,如果每個正整數採用32位二進位制儲存,可以存...

程式設計珠璣(第二版)閱讀筆記03

第4章 編寫正確的程式 的開發是自上而下進行的 從一般思想開始,將其完善為獨立的 行 正確性分析則是自下而上進行的 從每個獨立的 行開始,檢查它們是如何協同運作並解決問題的 初始化 保持 終止 過去開發 時總是亂七八糟,在以後程式設計中和除錯過程中,需要同時修正錯誤 和錯誤的斷言 總是保持對 的正確...

《學習bash》第二版讀書筆記

bash定製使用者環境的所提供的四個最重要的特性 特殊檔案 bashrc,bash profile 最重要的 bash logout,etc profile 前面三個檔案不存在時使用 別名,選項和變數。bash profile在shell登入時呼叫 在gnome桌面環境中,只有在使用相應的使用者登入...