《程式設計之美》 怎樣才算美?

2022-02-25 07:12:33 字數 820 閱讀 4628

最近看了博文視點出版的《程式設計之美——微軟技術面試心得》,連續的幾個晚上奮戰到兩點,才放下手中的書,合上書躺在床上,卻不能入睡:何謂程式設計,何謂美,怎樣的程式設計才能算美?

拿到這本書的時候,可能在想這是一本介紹如何程式設計的書,看了一些後,才會發現書中講的都是演算法問題,但回頭再想想,就會明白書的本意並不是講程式設計,講演算法,也許你看完這本書,不一定非要每個程式都實現,每個演算法都明白,但要知道這本書是在講思想,講解決問題的方法。

不管是去哪家公司面試,可能都會有一些刁鑽的問題,面試中重要的不是給面試官乙個答案,而是告訴他一種思路,一種解決問題的思路。《程式設計之美》就是告訴大家在遇到問題時如何去尋找思路,如何去優化思路,最終找到解決問題的途徑,並且在這條路上不斷地追求卓越,這就是程式設計之美。

總體來看,我總結大概有這幾條:

空間、時間相互置換,達到匹配平衡,多去解決時間或空間複雜度問題。

分治思想,典型如二分查詢,把複雜的問題化簡單,把簡單的問題化得更簡單。

數學推理,看似繁瑣的事情,一定也有規律可循,通過由特殊情況推算出一般情況,獲取通項公式,找到解決問題的簡單思路。

遞迴呼叫,遞迴雖然效率低,但能使一些複雜的思想變得易於實現,特別對於對算的過程。

抽絲剝繭,拿到複雜的問題,一點點兒的去抽象,從問題中抽象出單個簡單問題,再把單個簡單問題抽象成具體實現。

但實際上,我們在各自所在的領域解決問題的時候,沒有那種方法能拿過來就用,可以生搬硬套,只有理解和融匯了各種思路,不斷鍛鍊自己發現問題解決問題的能力,才能以不變應萬變。這本書講的就是這個道理:程式設計貴在思想,只有思想很美,只有在思想上追求卓越,程式設計才會美。

付強《程式設計之美——微軟技術面試心得》:豆瓣討論

推薦《程式設計之美》

推薦 程式設計之美 我很早知道鄒欣計畫要寫這樣一本書,也能夠預計到這本書定會廣受歡迎,因為它符合當前大量求職人員的需求,畢竟於他們而言,誰不想知道微軟亞洲研究院在招人時候問些什麼問題呢。另一方面,把考察軟體技術人員專業知識和相應技能的各種手段加以歸納和整理,這本身也是對業界的貢獻,所以,我相信,一旦...

程式設計之美摘錄

第1章 遊戲之樂 遊戲中碰到的題目 1.1讓cpu佔用率曲線聽你的指揮 int main return 0 解法二 使用gettickcount 和sleep 解法三 能動態適應的解法 1.2中國象棋將帥問題 1.3一摞烙餅的排序 1.4買書問題 1.5快速找出故障機器 1.6飲料供貨 1.7光影切...

程式設計之美 2 2

1 階乘確實是乙個讓人頭疼的問題,其本身的實現很簡單,它的問題在於結果膨脹式的增長會造成n!的結果的溢位。2.2給出了幾種從數學角度出來的思路,可以避免上面的問題發生。首先要清楚的乙個問題就是質因數分解 給定任意乙個整數w,那麼w一定可以分解成w 2 x 3 y 5 m 這種形式,這個數學理論是解決...