念了六年資工, 再搞了30年的電腦,覺得最有價值的兩門課程,就是「資料結構」與「演算法」。
就我的體會:資料結構是我們看待真實世界並轉化為數位世界的方法(陣列、堆疊、樹、鏈、雜湊…),而演算法則是我們應對數位世界然後反饋到真實應用的手段(搜尋、排序、編解碼…)。人生當中有無窮多的問題有待解決,但是我們很難發明無窮多的解法來一一對應,更別談最佳化了。因此我們需要前文裡面提到的「化整為零,拆解分類,分項撃破」。當我們將複雜的大問題拆解到一定的程度,往往會發現它其實是一些有限的「基本題型」疊加之後的排列組合,而這些基本題型已經有前人的智慧歸納出來的最佳演算法,這樣就能事半功倍的解掉問題。
台灣的理工教育,長期以來著重在解決小問題,卻忽略了「定義」大問題及拆解的能力。用白話來說,know-how很厲害,know-what一知半解,know-why就很少關心,更別提why-not了。然而「質疑why-not 才是突破窠臼,推動世界前進的力量。
AI時代,單一問題的解法越來越現成,越來越可能由電腦取代。未來人才的STEAM養成,關鍵應該是在對命題的解剖,MECE式的洞察。
文章標籤
全站熱搜
