爲什麼要學習數據結構與算法?

今天開始在極客時間學習《數據結構與算法之美》課程,開篇便是“爲什麼要學習數據結構與算法?”這個老生常談的話題。

那麼爲什麼要學習數據結構與算法呢?歸根結底,你學習一個東西是因爲你覺得他有收益,那麼學習數據結構與算法,收益在哪裏呢?

短期收益是應對考試、面試。

長期收益是“用”,來解決實際工程問題。

文中還提到了三點:

1.數據結構與算法的設計思想、背後原理能夠幫助我們更高效定位問題、分析性能開銷和資源利用,進而讓你不只是一個簡單的業務開發Boy。

2.要以“能夠寫出開源水平的框架”爲目標,開源工業級產品和玩具爲何差距巨大?因爲高手之間的競爭就在細節,算法是否足夠優化?數據存取效率是否足夠高?內存是否足夠省?

3.不甘平庸,要有追求。“十年如一日”的重複,可能終將導致你35歲陷入瓶頸,被行業淘汰。

更多時候,你用不上可能只是因爲你在“邊緣”位置,不那麼重要,這很現實。

如果你在一家成熟的公司,或者 BAT 這樣的大公司,面對的是千萬級甚至億級的用戶,開發的是 TB、PB 級別數據的處理系統。性能幾乎是開發過程中時刻都要考慮的問題。一個簡單的 ArrayList、Linked  List 的選擇問題,就可能會產生成千上萬倍的性能差別。這個時候,數據結構和算法的意義就完全凸顯出來了。

不止是互聯網行業如此,只不過互聯網加速了“學如逆水行舟,不進則退”的過程。

借用“守離破”的觀念,熟悉,突破,創造,最終走出你自己的一派,很難但值得一試!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章