我是這樣學習《算法導論》的:面試
8 :10——9 :00 起牀、洗漱、吃飯;算法
9 :00——12:30 去自習室用c語言實現書中的算法,並學習書上這部分的內容;數組
12:30——15:00吃飯、玩電腦、午休;函數
15:00——17:30在公開課上看一位MIT教授(《算法導論》的做者之一)關於算法的視頻;學習
17:30——18:20晚飯;spa
18:20——22:00去自習室學習下午在視頻上看到的內容。設計
日復一日,到今天爲止,我已經按這個時間表學習了十天左右(其中有兩三天由於打球、去外地中斷)。看着名家寫的書,看着名家的視頻,而且我本身還很認真,天天全部時間都在上面,該動手實踐的實踐,該看的內容一字不落的看。紮實、完美的學習方式,不是嗎?起碼我是這樣認爲的,而且天天都頗有成就感,哈,今天我又學了一章。關於這部分的視頻一共有23集,爲此我還本身作了一個規劃,用一個月的時間把算法這塊硬骨頭啃完。視頻
也就在今天下午,我想解決前兩天一位面試官考個人問題。問題是:設計一個算法找出一個給定數組中重複的兩個數,這個數組中只有兩個數相同。我當時用的是最笨的辦法,時間複雜度爲O(n^2)。我想試着用分治法去從新解決這個問題,發現分治法中求最大子數組的問題好像和這個有點相似,是否是能夠類比一下?class
因而我開始琢磨求最大子數組的算法。首先碰到的問題是這個算法何時中止,腦子裏一點印象都沒有,甚至連中止的時候有沒有返回值都不記得了。只記得算法中有一個子函數是求關於跨兩個被分割子數組的最大數組,可這個函數又是怎麼實現的,又是一點印象都沒有。學習方法
這個算法但是我前幾天纔在書上看到的,而且本身看完以後又揹着書在機器上實現了一遍。這麼快就忘記了!!!我真有點不甘心,發狠必定要把它想出來,因而這個下午我在宿舍裏一我的足足想了一個半小時才理清這個算法的各個邏輯。
我想起昨晚在網易公開課上看的一位哈佛教授的《幸福課》。視頻中提到一種叫安靜的學習方法,他們作過一個關於老鼠的試驗,有一隻老鼠被不停的送入迷宮,另外一隻老鼠在每送入一次迷宮以前都會讓它喝點小酒,休息一下,思考思考,最後發現後一隻老鼠學到的東西要遠大於前一隻老鼠。我不正像前一隻老鼠嗎?不停地學習知識,天天一章,就像固定的機器同樣,但卻歷來沒有安靜的思考所學的東西,好比爲何會是這樣而不是那樣,好比這個算法的本質是什麼,好比這個算法與別的同類型算法有何不一樣,而我只是在不停的往裏裝東西。
想起前段時間用靠近兩個月的時間學習《深刻理解計算機系統》,我學完了這本書,也放下了這本書,我能夠告訴別人我學過這本書了。但今天我卻發現我都不敢想象我還記得多少東西,真的不敢想。
想起本身大學的前三年,很勤奮,真的,只要是以爲對本身有用的課歷來都不翹,而且上課也不玩手機,認真的作筆記。我自信的覺得我是學的很紮實的,但當面試時被問到一些明明學過的基本問題,我卻怎麼都想不起來。
甚至我剛剛提到的網易公開課中的《幸福課》,我昨天晚上纔看完了第一集,但次日下午我卻只記得裏面有個安靜的學習方法,裏面的小白鼠這個實驗都是我今天下午又從新再看時纔想到本身和那個老鼠很像。還記得昨天晚上我看完第一集後,以爲頗有道理,立馬作了一個規劃要在多久以內天天一集將這個《幸福課》都看完。但可悲的是,我在次日即忘記了前一天看過的大部份內容,但我卻自信的對別人說,我以爲《幸福課》很好看,你能夠看一下。
我已經徹底變成了一個學習機器,只是以爲嗯這個東西有用,嗯定個計劃,學完。而後,我就能夠對別人也對本身說我學會了上面的東西。當過幾天碰到這本書上的東西時,卻發現本身只記得學過這本書,書中好像有這麼個概念,究竟是什麼樣子的已經沒有任何印象。
我在以前,總以爲這個老師講的很差,那個老師講的很差,看看那些國外的老師,人家講的多好。那麼,我如今想反問,若是你以爲老師講的很差,講的簡單,那你真正學會這些簡單的內容了嗎?面試時候大部分都是課上學過的爲何你還答不出來?那些教授再差,人家大部分都是中國名校博士生畢業,又有這麼多年研究經驗,難道卻沒有資格教你?眼高手低再加上學習方法的盲目性只能致使你是個庸才。
老爸常常跟我說他上學的時候,最喜歡晚上用手指在腿上比劃白天想不出來的問題(他學習成績很好,常常不去學校,但每次都拿他們班第一,我雖然沒見過,但認識我爸的人都這麼說),划着划着就出來了。曾經,把這句話當成了一句話,那如今我理解這句話了。
各位博友們,不妨天天給本身一點安靜的時間,想一想本身學的東西的前因後果,把解決這個問題的邏輯想一遍,並理清邏輯之間的關係。就算你已人到中年,再也不學習這種書本上的知識,也能夠在安靜的時刻想一想生活,想一想本身該捨棄什麼,該保留什麼。就算你什麼也不想一想,你也能夠享受這份安靜。
總之不要像個機器,卻本身還不知道本身是個機器。