做題的樂趣 《程式設計之美》

2022-02-25 08:31:44 字數 1662 閱讀 9293

讀中學的時候,經常跟幾個好友一起以研究一些怪異有難度的物理或數學題為樂。常常能將其它的事情都拋在一邊,埋頭於這些在旁人看來沒有多大意義的題目中。腦子中一旦冒出了新的idea,總是會著急地與朋友討論,唾沫橫飛,書筆交錯。而到最後解出答案時,無論最後的答案是誰算出來的,都會在心裡產生一些模型的成就感,似乎又為這世界做出了些偉大的貢獻。我想,正是有了這種心態和那一幫一起以做題為快樂的朋友們,高考在我看來才是一件那麼快樂的事情。但是後來進入大學,本科的專業學得太差,讀研時也沒遇到能一起討論題目的朋友,更重要的是難以找到適合於大家一起討論的題目。

讀研的這兩年,為了養活自己,參加了一些書籍的翻譯工作,也嘗試了不少出版社和出版公司的試譯,其中就包括博文視點。參加博文視點的試譯是為了一本很感興趣的perl書籍,雖然盡力而為,但還是被拒了。不過在這期間結識了博文視點的一位小編(據博文工作人員blog,此小編為古典風格的美女,不知道這個古典是不是指的唐朝~~)。偶爾聯絡,討論一些與書籍有關或無關的話題。鄒欣老師及其bop小組編寫的《程式設計之美》一書也正是這位美女推薦給我的。

首先不得不說這本書的宣傳非常之成功。從joyo買來書,一開始也沒時間看,就堆在實驗室的桌子上。路過的人都會隨手翻翻,說一句「好書」。如果我順口問上一句「你看過?」「好在哪?」回答多半都是「不知道」。讓沒看過的人都說好,宣傳能做到這種境界,不容易啊。

回到第一段說的事情。這幾天稍微清閒一點,就翻看了一下《程式設計之美》,從序言看起。我看書其實很喜歡看序言和後記。一本好書的序言和後記中覺得凝結著作者的心血。從序言和後記的內容和質量也能看出一本書到底是純粹拼湊的商業作品,還是一本值得細讀的佳作。《程式設計之美》顯然屬於後者。從調侃一些找工作和面試的基本情況,到介紹微軟招人的方式,都寫得很真實。不過整本書中最具價值的還是那些面試題目和對題目的分析。

跟鄰座的同學約定,隨便從書中選乙個題目,看誰的解法最好。抽中的題目是294頁的4.6,乙個從桶中取球的題目。如果能充分的理解題目,其實很容易。但是題目中在提問時卻設了乙個巧妙的陷阱,一下子就將同學套進去了。來看看這個題目的問題:「問:最後桶裡面只剩下乙個黑球的概率是多少?」。一看到問題中的「概率」二字,同學在草稿紙上寫下的就是一堆諸如貝葉斯公式之類的東西。一陣天昏地暗的運算之後,告訴我:算不出具體的概率,但應該有很大的概率是黑球。我要他將一步步的推斷過程講給我聽。一堆公式,逐步地展開,最後的結果就是他自己也不知道自己在算什麼了,完全迷失了~~

這個問題中的「概率」二字對於學過概率論的理工科學生來說太有誘騙性了。其實這個題目與概率論完全無關,一道純粹的離散數學題,或者可以說是適合給沒學過概率論的中小學生做的智力題。如果將問題改成「最後桶裡面剩下的乙個球是黑球還是白球?」,或許這道題目的難度就能減去大半。不知道鄒欣老師在寫這個題目的時候是否做了這方面的考量。

我又給同學談起我的想法,一陣飛沙走石,雙方都算是理解了對方的想法。然後再翻開書看看微軟牛人們的分析和解答,順便研究一下擴充套件問題。兩人恍然大悟之時再去看電腦上的時間,已經過去將近兩個小時了。

很久沒有這種感覺了,兩個人能為了乙個問題一起埋頭苦想。如果沒有《程式設計之美》這種牛書,估計也沒人有興趣跟我一起研究問題,這種問題也不會引起我的興趣。買一本書,可以跟好友一起研讀,很愜意的事情。還約定一起實現書中的演算法——或許我又能回到中學那種以解題為樂趣的年代。

ps.書的宣傳很成功,版面設計很好,但是文字校對的功力需要提高。

陳鋼,2023年5月5日,中南大學計算機樓

程式設計之美的樂趣

據說革命導師 馬克思在繁重的工作之餘是選擇證明幾何定理作為休息的 如果此事屬實的話,我們這些凡夫俗子只能由衷地感嘆 偉人就是牛,休息都整得這麼帥。程式設計之美 儘管書名起得很輕鬆,但它並不是一本可以在休息時閱讀的書籍。正如我們不能個個都像偉人那樣,在翻閱這本書時,還是得一支筆一張紙,然後邊看邊想邊塗...

推薦《程式設計之美》

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

程式設計之美摘錄

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