我一直提醒自己不要讀死書,不要只是會解一樣的題目,提醒自己要活用學到的東西。可是,我最近卻感覺,我依然沒辦法從讀死書的境界跳出來,最容易看見這個 事實的,就是演算法這個科目。大三上修演算法時,老師上課很認真,考題和作業都不會刻意的刁難,只要有聽課,回家有複習一下,都可以拿到不錯的成績,而我 期中期末考成績都滿高的,加上老師出的程式作業題我都很認真的寫,出的加分題我也幾乎全都做了,期末依分配的percentage去算,我的分數是破百 的,成績單上給我的成績是99分。
可是,那只是個假像罷了。我只不過是會解老師出的題目,會寫老師要求的程式,我卻沒有辦法好好的活用各 種著名的解法,若該問題是一個whole new problem,沒有什麼以前的依據可解,我只會陷入死胡同中,只會想著用硬幹的方法去解決,我卻從來不曾想起,我曾經學過divide and conquer, dynamic programming, branch-and-bound...等做法,特別是dynamic programming,這個algorithm需要先去分析出一個recursive的關係式,而最難的地方,就是去把這個遞迴關係式給想出來,我呢? 我根本想不出來,我只會一下子就亂掉了,而且也不懂得如何活用,像之前我解數字分解的問題,這個問題可以用dynamic programming去解,但是我卻沒有辦法像popcorny和worookie一樣想出來,為什麼呢?只有二種解釋,一來是我笨,想不到,二來是我 根本就沒有學到那個精神,只懂得去把書本上的東西記下來而已。
如果我再不從這樣的死胡同中跳出來,即使未來我唸再多書,也不會有什麼成就。