NO IMAGE

  大多數人都聽過這樣一個說法,就是演算法是程式設計的靈魂。很早就聽說了這樣一個說法,我也對這個說法是深信不疑。可惜的是一直沒能真正當成指導自己學習的準則。

  上次面試騰訊,面試官也提到無論是什麼應用,說到底還是演算法。因為跟我心底的想法是一致的,所以我沒有產生任何疑問。

  回來後,我就一直在思考,為什麼說演算法是靈魂是核心?還有,即使我不熟悉那些資料結構啊,演算法啊,但那些經典的東西網上一般都會有現成的原始碼,開發應用時如果需要直接COPY過來不就行了,為什麼我們還要耗費精力去學呢?

  慢慢的似乎想明白了一些,這些經典的演算法之所以經典,就在於它的思想,一個演算法解決的不是某一個問題,而是某一類問題;它能啟發人們解決的不只是已經的一些問題,還有很多未知的問題。

  突然想到程式設計和寫作在某些意義上是驚人的相似。

  在最初我們需要學習組詞,學習造句,然後學習一些修辭手法,學習一些文章的結構……當你開始嘗試寫作時,也許你會特別注重這些詞語啊,句子啊,修辭的使用;慢慢的,寫作能力提升後,你會發現你已經忘記了這些細節的東西,語言只是你表達思想的一個工具。

  我們學習程式設計也是如此,無論使用什麼程式語言,程式語言應該是幫助你表達“思想”的工具。這也是程式設計人員需要追求的一個境界。