數據結構和算法對於一個程序員重要到什麼程度?

不婚不戀不生


作為一名IT行業的從業者,同時也是一名教育工作者,我來回答一下這個問題。

首先,軟件開發問題說到底就是數學問題,而數學問題在程序設計中的具體體現就是數據結構加算法,所以通常也把軟件開發看成是數據結構和算法設計的結合。從這個角度來看,要想成為一名專業程序員,首先就要掌握數據結構和算法。

隨著軟件在行業領域的廣泛應用,以及Web開發的流行,再到當前雲計算在開發領域的廣泛採用,軟件開發崗位的劃分也越來越細,很多應用級開發崗位,對於數據結構和算法設計能力的要求並不高。但是,如果從事研發級程序員崗位,算法設計和數據結構就非常重要了。

當前,對於程序員來說,如果想在軟件開發領域走得更遠,有兩種選擇,其一是走全棧開發路線,其二是走研發級路線,程序員應該根據自身的知識結構來選擇具體的發展路線。

如果自身的數學基礎比較薄弱,算法設計能力較差,那麼可以重點考慮走全棧程序員路線,當前在雲計算平臺的推動下,前後端開發的傳統界限正在逐漸模糊,前端開發後端化也是一個比較明顯的發展趨勢,所以當前從事後端業務開發的應用級程序員,應該重視前端知識的學習。

如果自身的數學基礎比較紮實,同時也有比較紮實的算法設計基礎,那麼可以考慮向研發級程序員方向發展,在當前的大數據、人工智能時代,研發級程序員不僅崗位薪資待遇比較高,而且職業生命週期也比較長。實際上,目前互聯網行業對於研發級程序員的需求量還是比較大的,而對於大學生來說,要想成為研發級程序員,讀研是一個不錯的渠道。

我從事互聯網行業多年,目前也在帶計算機專業的研究生,主要的研究方向集中在大數據和人工智能領域,我會陸續寫一些關於互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收穫。

如果有互聯網、大數據、人工智能等方面的問題,或者是考研方面的問題,都可以在評論區留言,或者私信我!


IT人劉俊明


這隻能說明現在程序員來自速成培訓班的太多了。在算法知識匱乏的情況下,工作三五年之後,大約可以初級達到中級,基本很難達到高級程序員的水平。IT行業的競爭還是很大的,因為大家默認你工作多少年,就應該達到一個公認的水準。所以,中級程序員的提升迫在眉睫。ps:我就屬於這種程序猿,正打算從高等數學、數據結構重新學起


舍予宏


首先,算法和編程語言沒有太大關係,一位優秀的程序員都能夠將他們轉換成編程語言的代碼。但是在很多公司看來,尤其是大公司看來數據結構和算法確實是最有用的,而且經常在筆試和麵試中出現。

其次,數據結構和算法是編程和實踐的根本。他們看似枯燥和基礎,但是具有最長久的生命力。層出不窮的各種框架以及各種開源庫的背後仍然是算法,數據結構,計算機網絡,計算機原理等這些看似基礎的東西。如果這些掌握紮實了,才有更加深一步發展的可能。

最後,21世紀技術更新迭代快速,語言層出不窮,但是數據結構,算法,計算機原理這類的東西不會有太大改變。

總之,熟悉數據結構和算法成長的空間和機會會更多一些。


蝴蝶曲線


嘛,這個是決定你30多歲以後還能不能繼續堅持技術路線的根本,否則只能往項目管理靠,不然容易失業。


分享到:


相關文章: