導航:首頁 > 源碼編譯 > 演算法大牛搶手嗎

演算法大牛搶手嗎

發布時間:2023-03-29 05:03:12

『壹』 演算法工程師 就業前景

一、演算法工程師簡介
(通常是月薪15k以上,年薪18萬以上,只是一個概數,具體薪資可以到招聘網站如拉鉤,獵聘網上看看)
演算法工程師目前是一個高端也是相對緊缺的職位;
演算法工程師包括
音/視頻演算法工程師(通常統稱為語音/視頻/圖形開發工程師)、圖像處理演算法工程師、計算機視覺演算法工程師、通信基帶演算法工程師、信號演算法工程師、射頻/通信演算法工程師、自然語言演算法工程師、數據挖掘演算法工程師、搜索演算法工程師、控制演算法工程師(雲台演算法工程師,飛控演算法工程師,機器人控制演算法)、導航演算法工程師(
@之介
感謝補充)、其他【其他一切需要復雜演算法的行業】
專業要求:計算機、電子、通信、數學等相關專業;
學歷要求:本科及其以上的學歷,大多數是碩士學歷及其以上;
語言要求:英語要求是熟練,基本上能閱讀國外專業書刊,做這一行經常要讀論文;
必須掌握計算機相關知識,熟練使用模擬工具MATLAB等,必須會一門編程語言。
演算法工程師的技能樹(不同方向差異較大,此處僅供參考)
1 機器學習
2 大數據處理:熟悉至少一個分布式計算框架Hadoop/Spark/Storm/ map-rece/MPI
3 數據挖掘
4 扎實的數學功底
5 至少熟悉C/C++或者java,熟悉至少一門編程語言例如java/python/R
加分項:具有較為豐富的項目實踐經驗(不是水論文的哪種)
二、演算法工程師大致分類與技術要求
(一)圖像演算法/計算機視覺工程師類
包括
圖像演算法工程師,圖像處理工程師,音/視頻處理演算法工程師,計算機視覺工程師
要求
l
專業:計算機、數學、統計學相關專業;
l
技術領域:機器學習,模式識別
l
技術要求:
(1) 精通DirectX HLSL和OpenGL GLSL等shader語言,熟悉常見圖像處理演算法GPU實現及優化;
(2) 語言:精通C/C++;
(3) 工具:Matlab數學軟體,CUDA運算平台,VTK圖像圖形開源軟體【醫學領域:ITK,醫學圖像處理軟體包】
(4) 熟悉OpenCV/OpenGL/Caffe等常用開源庫;
(5) 有人臉識別,行人檢測,視頻分析,三維建模,動態跟蹤,車識別,目標檢測跟蹤識別經歷的人優先考慮;
(6) 熟悉基於GPU的演算法設計與優化和並行優化經驗者優先;
(7) 【音/視頻領域】熟悉H.264等視頻編解碼標准和FFMPEG,熟悉rtmp等流媒體傳輸協議,熟悉視頻和音頻解碼演算法,研究各種多媒體文件格式,GPU加速;
應用領域:
(1) 互聯網:如美顏app
(2) 醫學領域:如臨床醫學圖像
(3) 汽車領域
(4) 人工智慧
相關術語:
(1) OCR:OCR (Optical Character Recognition,光學字元識別)是指電子設備(例如掃描儀或數碼相機)檢查紙上列印的字元,通過檢測暗、亮的模式確定其形狀,然後用字元識別方法將形狀翻譯成計算機文字的過程
(2) Matlab:商業數學軟體;
(3) CUDA: (Compute Unified Device Architecture),是顯卡廠商NVIDIA推出的運算平台(由ISA和GPU構成)。 CUDA™是一種由NVIDIA推出的通用並行計算架構,該架構使GPU能夠解決復雜的計算問題
(4) OpenCL: OpenCL是一個為異構平台編寫程序的框架,此異構平台可由CPU,GPU或其他類型的處理器組成。
(5) OpenCV:開源計算機視覺庫;OpenGL:開源圖形庫;Caffe:是一個清晰,可讀性高,快速的深度學習框架。
(6) CNN:(深度學習)卷積神經網路(Convolutional Neural Network)CNN主要用來識別位移、縮放及其他形式扭曲不變性的二維圖形。
(7) 開源庫:指的是計算機行業中對所有人開發的代碼庫,所有人均可以使用並改進代碼演算法。
(二)機器學習工程師
包括
機器學習工程師
要求
l
專業:計算機、數學、統計學相關專業;
l
技術領域:人工智慧,機器學習
l
技術要求:
(1) 熟悉Hadoop/Hive以及Map-Rece計算模式,熟悉Spark、Shark等尤佳;
(2) 大數據挖掘;
(3) 高性能、高並發的機器學習、數據挖掘方法及架構的研發;
應用領域:
(1)人工智慧,比如各類模擬、擬人應用,如機器人
(2)醫療用於各類擬合預測
(3)金融高頻交易
(4)互聯網數據挖掘、關聯推薦
(5)無人汽車,無人機

相關術語:
(1) Map-Rece:MapRece是一種編程模型,用於大規模數據集(大於1TB)的並行運算。概念"Map(映射)"和"Rece(歸約)",是它們的主要思想,都是從函數式編程語言里借來的,還有從矢量編程語言里借來的特性。
(三)自然語言處理工程師
包括
自然語言處理工程師
要求
l
專業:計算機相關專業;
l
技術領域:文本資料庫
l
技術要求:
(1) 熟悉中文分詞標注、文本分類、語言模型、實體識別、知識圖譜抽取和推理、問答系統設計、深度問答等NLP 相關演算法;
(2) 應用NLP、機器學習等技術解決海量UGC的文本相關性;
(3) 分詞、詞性分析、實體識別、新詞發現、語義關聯等NLP基礎性研究與開發;
(4) 人工智慧,分布式處理Hadoop;
(5) 數據結構和演算法;
應用領域:
口語輸入、書面語輸入
、語言分析和理解、語言生成、口語輸出技術、話語分析與對話、文獻自動處理、多語問題的計算機處理、多模態的計算機處理、信息傳輸與信息存儲 、自然語言處理中的數學方法、語言資源、自然語言處理系統的評測。

相關術語:
(2) NLP:人工智慧的自然語言處理,NLP (Natural Language Processing) 是人工智慧(AI)的一個子領域。NLP涉及領域很多,最令我感興趣的是「中文自動分詞」(Chinese word segmentation):結婚的和尚未結婚的【計算機中卻有可能理解為結婚的「和尚「】

(四)射頻/通信/信號演算法工程師類
包括
3G/4G無線通信演算法工程師, 通信基帶演算法工程師,DSP開發工程師(數字信號處理),射頻通信工程師,信號演算法工程師
要求
l
專業:計算機、通信相關專業;
l
技術領域:2G、3G、4G,BlueTooth(藍牙),WLAN,無線移動通信, 網路通信基帶信號處理
l
技術要求:
(1) 了解2G,3G,4G,BlueTooth,WLAN等無線通信相關知識,熟悉現有的通信系統和標准協議,熟悉常用的無線測試設備;
(2) 信號處理技術,通信演算法;
(3) 熟悉同步、均衡、信道解碼等演算法的基本原理;
(4) 【射頻部分】熟悉射頻前端晶元,扎實的射頻微波理論和測試經驗,熟練使用射頻電路模擬工具(如ADS或MW或Ansoft);熟練使用cadence、altium designer PCB電路設計軟體;
(5) 有扎實的數學基礎,如復變函數、隨機過程、數值計算、矩陣論、離散數學
應用領域:
通信
VR【用於快速傳輸視頻圖像,例如樂客靈境VR公司招募的通信工程師(數據編碼、流數據)】
物聯網,車聯網
導航,軍事,衛星,雷達
相關術語:
(1) 基帶信號:指的是沒有經過調制(進行頻譜搬移和變換)的原始電信號。
(2) 基帶通信(又稱基帶傳輸):指傳輸基帶信號。進行基帶傳輸的系統稱為基帶傳輸系統。傳輸介質的整個信道被一個基帶信號佔用.基帶傳輸不需要數據機,設備化費小,具有速率高和誤碼率低等優點,.適合短距離的數據傳輸,傳輸距離在100米內,在音頻市話、計算機網路通信中被廣泛採用。如從計算機到監視器、列印機等外設的信號就是基帶傳輸的。大多數的區域網使用基帶傳輸,如乙太網、令牌環網。
(3) 射頻:射頻(RF)是Radio Frequency的縮寫,表示可以輻射到空間的電磁頻率(電磁波),頻率范圍從300KHz~300GHz之間(因為其較高的頻率使其具有遠距離傳輸能力)。射頻簡稱RF射頻就是射頻電流,它是一種高頻交流變化電磁波的簡稱。每秒變化小於1000次的交流電稱為低頻電流,大於10000次的稱為高頻電流,而射頻就是這樣一種高頻電流。高頻(大於10K);射頻(300K-300G)是高頻的較高頻段;微波頻段(300M-300G)又是射頻的較高頻段。【有線電視就是用射頻傳輸方式】
(4) DSP:數字信號處理,也指數字信號處理晶元
(五)數據挖掘演算法工程師類
包括
推薦演算法工程師,數據挖掘演算法工程師
要求
l
專業:計算機、通信、應用數學、金融數學、模式識別、人工智慧;
l
技術領域:機器學習,數據挖掘
l
技術要求:
(1) 熟悉常用機器學習和數據挖掘演算法,包括但不限於決策樹、Kmeans、SVM、線性回歸、邏輯回歸以及神經網路等演算法;
(2) 熟練使用SQL、Matlab、Python等工具優先;
(3) 對Hadoop、Spark、Storm等大規模數據存儲與運算平台有實踐經驗【均為分布式計算框架】
(4) 數學基礎要好,如高數,統計學,數據結構
l
加分項:數據挖掘建模大賽;
應用領域
(1) 個性化推薦
(2) 廣告投放
(3) 大數據分析
相關術語
Map-Rece:MapRece是一種編程模型,用於大規模數據集(大於1TB)的並行運算。概念"Map(映射)"和"Rece(歸約)",是它們的主要思想,都是從函數式編程語言里借來的,還有從矢量編程語言里借來的特性。
(六)搜索演算法工程師
要求
l
技術領域:自然語言
l
技術要求:
(1) 數據結構,海量數據處理、高性能計算、大規模分布式系統開發
(2) hadoop、lucene
(3) 精通Lucene/Solr/Elastic Search等技術,並有二次開發經驗
(4) 精通Lucene/Solr/Elastic Search等技術,並有二次開發經驗;
(5) 精通倒排索引、全文檢索、分詞、排序等相關技術;
(6) 熟悉Java,熟悉Spring、MyBatis、Netty等主流框架;
(7) 優秀的資料庫設計和優化能力,精通MySQL資料庫應用 ;
(8) 了解推薦引擎和數據挖掘和機器學習的理論知識,有大型搜索應用的開發經驗者優先。
(七)控制演算法工程師類
包括了雲台控制演算法,飛控控制演算法,機器人控制演算法
要求
l
專業:計算機,電子信息工程,航天航空,自動化
l
技術要求:
(1) 精通自動控制原理(如PID)、現代控制理論,精通組合導航原理,姿態融合演算法,電機驅動,電機驅動
(2) 卡爾曼濾波,熟悉狀態空間分析法對控制系統進行數學模型建模、分析調試;
l
加分項:有電子設計大賽,機器人比賽,robocon等比賽經驗,有硬體設計的基礎;
應用領域
(1)醫療/工業機械設備
(2)工業機器人
(3)機器人
(4)無人機飛控、雲台控制等

(八)導航演算法工程師
要求
l 專業:計算機,電子信息工程,航天航空,自動化
l 技術要求(以公司職位JD為例)
公司一(1)精通慣性導航、激光導航、雷達導航等工作原理;
(2)精通組合導航演算法設計、精通卡爾曼濾波演算法、精通路徑規劃演算法;
(3)具備導航方案設計和實現的工程經驗;
(4)熟悉C/C++語言、熟悉至少一種嵌入式系統開發、熟悉Matlab工具;
公司二(1)熟悉基於視覺信息的SLAM、定位、導航演算法,有1年以上相關的科研或項目經歷;
(2)熟悉慣性導航演算法,熟悉IMU與視覺信息的融合;
應用領域
無人機、機器人等。

『貳』 為什麼有人說弄懂了《演算法導論》的90%,就超越了90%的程序員

其實計算機程序底層核心就是各種數學演算法,剩下就是怎麼用代碼去實現數學,世界上有名的計算機程序大牛幾乎都跟數學權威方面的專家有關。

從另一個角度回答,因為就算看懂百分百,也很難超越另外的百分之十

很多程序員沒讀過演算法導論

其實不管是對於在校生來說還是已經工作的程序員,一般很少都會接觸演算法。

學生的話也只有計算機相關專業的開設了數據結構和演算法相關課程的才需要用到,但如果只是對付期末考試的話也沒啥難度。

但是如果在大學期間接觸到演算法競賽就不一樣了,需要花費比較多的精力。

的確在工資上任何公司都是10%的演算法大佬拿的工資比其他90%的業務開發程序員或者其他的程序員都要高,不過就憑只懂《演算法導論》這本書的話還是不太行的,演算法離不開業務的。就算超越也是超越那10%的演算法工程師里的90%,如果能達到這個境界別說BAT了,微軟谷歌都是可以考慮的。

說這個話在我看來他可能是想賣課,賣完再慢慢告訴你,「學到90%也沒有那麼容易」,或者「在刷我這套題這件事上超越90%的程序員 並不等於收入上超越90%的程序員」。

你多去拼多多參加幾個活動,在文字 游戲 和預期管理上你應該就懂了;要是還不懂,大概你也不是那麼適合做這一行以及演算法導論。

公式:弄懂+一本名著+百分比+超越+百分比+你的群體。

例句:

弄懂sicp的67.9%,你就超越了95%的程序員。

弄懂本草綱目的72%,你就超越了93.7%的中醫。

弄懂冰箱說明書的83%,你就超越了99.9%的冰箱使用者(這也許是最真實的,雖然冰箱說明書不是名著……)

至於為什麼這么說……個人覺得就是對xx東西的一種崇拜,很大程度上是人雲亦雲。

演算法導論是本不會動的書,不同人讀效果不一樣的。不要神化某一本書,參差多態乃幸福本源。不看演算法導論你也可以會演算法,你也可以會數據結構,你也可以進大廠。沒有演算法導論的時候也依然有研究演算法的科學家。你能通過他學會知識很好,但你覺得它晦澀,搞不懂,沒有c的代碼讓你學的不舒服,那就不看他。

人生中見書,書中見人生。讀書有時候不一定是為了學東西,可能更多的是一種享受。就像你沒學看過csapp之前,通過各種課程,學了零零碎碎的知識。忽然有一天你看了csapp,你覺得好過癮啊,好爽啊。你覺得你學習的第一天就看csapp能有這種效果嗎?

好書不會變少只會變多,更何況幫到你的也未必需要是好書。也許一本書只是很普通的書,不嚴謹,還都是大白話,但未必就幫不到你。

學東西莫要搞崇拜。很多程序員學習的時候都不是通過演算法導論這本書學的,可他們依然很傑出。

程序員來回答一下:

1.《演算法導論》這本書理論來說90%程序員也沒弄懂,所以你弄懂了就超過了90%。

2.其實程序員是一個大的行業,IT也是一個大的行業,門外人看著都是一群寫程序的,修電腦的,更有人認為是裝電腦系統的,你被別人交過去裝過系統嗎?

3.程序員架構上來說,嵌入式 協議棧 應用 網路 伺服器 工具 系統 等等等!

4.有一些行業是不需要看演算法導論的,更有一些轉行過來的,應該更不太了解演算法導論。

這本書在美國的大學被稱為clrs, 是標準的本科高年級和研究生入門的演算法課課本。優點是比較全面的講解了常用和基本的演算法,習題質量不錯。問題是動態規劃講的不好,篇幅原因一些近代的演算法沒有概括。總的來說是本不錯的演算法入門教科書。

演算法是計算機科學的核心。計算理論偏數學,編譯原理和操作系統偏硬體,真正計算機科學的核心就是演算法。無論做研究還是搞工程,都是必不可少的。

程序是給人看的,不是給機器。寫給機器的程序誰都可以寫出來,但不是每個程序員都能寫出別人看懂的東西

程序是什麼,程序就是數據結構和演算法,弄懂了超90%的程序員不是很正常嘛

看懂2%就超過了80%,沒必要看那麼多

因為這本書翻譯的很枯燥、也很理解,這種情況下你還理解了90%,說明你有耐心,有恆心,耐得住寂寞。我相信不只是做程序員,做其它行業也會很優秀。

『叄』 學習無人機應用工程師,以後能從事哪些工作

大疆招聘最青睞的幾個崗位,畢業就能拿高薪,未來大有可為
以無人機為代表的高科技機器人行業近年來發展勢頭迅猛,其中無人機領軍企業大疆秉承「未來無所不能」的理念,向來對人才重視有加,能提供領跑業界的薪資待遇與福利,並且技術實力雄厚、有不錯的技術研發氛圍,因而一直受到許多求職者的青睞。
其實,不同行業對專業技能的人才有著不同的需求,如同蓬勃的互聯網帶動了程序員的人才市場需求,想要進入無人機行業,技術專業對口也非常重要。事實上,大疆也有自己所青睞的崗位人才,小編在這里整理了幾個大疆常年重點招聘的崗位,這些崗位不僅薪資水平令人稱羨,而且未來也有很大的發展空間。
1、演算法工程師
AI時代的來臨,不少企業為了搶奪未來發展制高點紛紛轉戰人工智慧,高科技圈更是流傳「得人工智慧者得天下」的說法,可見人工智慧人才到底有多稀缺,而演算法工程師崗位作為人工智慧的核心剛需,在人才市場中的搶手情況有目共睹。
作為技術梯隊中的頂尖人才,演算法工程師雖然並非新興崗位,但招聘熱度和薪資卻一路水漲船高,大企業為演算法人才開出天價年薪已是司空見慣。
在網上熱傳的校招薪水榜單中,谷歌中國、微軟以及國內的騰訊、大疆、網易、阿里巴巴、滴滴、網路、今日頭條、京東等知名大企業紛紛在榜,為演算法人才開出了高薪。毫不誇張的說,對應屆生來說,選擇演算法崗位意味著畢業就能穩拿高薪。
而且,無人機產品類型眾多,涉及到圖像處理演算法、視頻演算法、通信演算法、音頻演算法、感知演算法、導航演算法等等細分的技術領域,因此在無人機行業從事演算法崗位,未來會有非常多元和廣闊的發展空間。
2、嵌入式工程師
嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。去年,是嵌入式發展最快的一年,全球晶元企業並購加速,人工智慧逐漸滲透雲、大數據和物聯網,而物聯網又被譽為「下一個工業革命」,嵌入式作為物聯網的重要技術組成部分,也是機器人行業的關鍵技術。
據BOSS直聘發布《2019春招旺季人才趨勢報告》顯示物聯網相關的嵌入式工程師人才需求今年春季同比增速超過46%,人才緊缺程度高於其他技術職位。
嵌入式發展前景良好,目前嵌入式開發更傾向於智能化,也就是我們所說的智能硬體(硬體+軟體),網路機器人、大疆無人機、天貓精靈智能音響、自動駕駛汽車、海爾掃地機器人等等我們熟知的高科技產品都是前沿的嵌入式產品。在可見的未來,機器人行業對嵌入式工程師的需求只會越趨強烈。
3、硬體工程師
很多人將硬體工程師與軟體工程師做比較。但實際從長遠來看,隨著機器時代的來臨,硬體工程師將更有發展前途,因為硬體所涉及的內涵豐富、對知識要求更高,不僅更容易轉行,而且可以尋找到更多樂趣,真正的高手往往是軟硬兼通的。所以有一種說法,「一個頂級硬體工程師可遇不可求,一個頂級的軟體工程師一抓一大把」。
硬體工程師相對來說是一個准入門檻較高的行業,硬體重復設計成本較高,一個有較高水平的硬體工程師可以為公司節省大量的時間與成本。目前國內的集成電路處於大發展的時期,國家的各項政策投資大力扶持集成電路行業,所以市場對成熟的硬體工程師的需求依然非常旺盛。
在無人機領域,硬體開發猶其重要。大疆無人機更為輕便、性能更為優越,正是得益於大疆優秀的硬體工程師。硬體工程師在大疆不僅需要完成相關硬體的研發,硬體方案的設計及相關硬體的轉交及交付等內容,同時還可以更多的參與到上游供應鏈中學習。大疆豐富的產品線也為硬體工程師提供了廣闊的成長機會和通道。在大疆,硬體工程師可以選擇相機、高速硬體、功率電池、成本控制等方向,而且大疆集合了許多行業的頂尖大牛人才,長期交流可以得到更快速的成長。
機器時代已經來臨,當前我國諸多領域已顯現出「無人機+行業應用」的蓬勃發展勢頭,無人機行業在可見的未來無疑還將迎來新的增長點。對於那些有志於無人機行業的人才,不管是從事什麼崗位,相信只要技能實力過硬就一定能獲得自己想要的未來。

『肆』 學習無人機應用工程師,以後能從事哪些工作

無人機應用專業是航空技術,電子技術與計算機應用技術相結合的專業,主要培養適應無人機行業需要 ,德、智、體、美全面發展,具有較扎實的基礎理論知識,熟練掌握各種專業技能,職業素質優良,專業技術 精湛,實踐能力突出,能在無人機應用領域面向無人機操作、無人機維護和開發等不同方向發展,從事無人機 設備的操作、編程、維護以及生產組織和管理等方面工作的高等技術應用型人才。

評論無人機應用專業是航空技術,電子技術與計算機應用技術相結合的專業,主要培養適應無人機行業需要 ,德、智、體、美全面發展,具有較扎實的基礎理論知識,熟練掌握各種專業技能,職業素質優良,專業技術 精湛,實踐能力突出,能在無人機應用領域面向無人機操作、無人機維護和開發等不同方向發展,從事無人機 設備的操作、編程、維護以及生產組織和管理等方面工作的高等技術應用型人才。

評論

『伍』 數據結構與演算法在計算機領域或行業之中到底占據著什麼樣的重要地位

演算法是程序的靈魂,架構是靈魂的軀體,最近對這兩句話感觸很深,但很多程序員甚至忽略演算法存在,更不要說是架構層面的東西,有些程序員甚至有些疑問,做編程也有幾年了碰到關於演算法的東西實在是很少。

在學習演算法之前首先要掌握數據結構,因為數據結構裡面很多基礎,像隊列,棧,鏈表,二叉樹這些都是演算法基礎,因為再復雜的演算法也是基礎的東西組合起來的,復雜的演算法涉及到數學知識了,所以專業的演算法工程師需要具備良好的數學底子。但數據結構更多是用在功能模塊裡面編程模型的設計上,有些程序員在設計模塊功能的時候。

『陸』 ACM 競賽用純C寫的大牛,那些演算法和資料庫是用什麼實現的 有現成的庫嗎(像STL) 還是現成用C寫

① 比賽的時候允許帶紙質材料,也就是說,可以把所有現成的演算法代碼書籍帶進去,需要的時候直接目錄索引到,抄上去(對於每分鍾300個英文字母的盲打速度,2分鍾就能寫完一個演算法,剩下的就是針對題目,把演算法做一個優化和處理並結合其他演算法,解決題目)。

② 一般常用的就是排序、數據結構、搜索演算法,這些演算法要能達到閉著眼睛寫出來,其他演算法要能嘩虧夠參考兩下代碼,馬上全部寫出來。

③還有一點,菜鳥寫HASHMAP可能要很久侍派,但是對於一個AC上千次的人,老蘆賀一般的結構和演算法都是十幾分鍾不到就寫完的,比賽關鍵在思考解題途徑和效率。

『柒』 思謀科技高級演算法研究員屬於大牛嗎

思謀科技高殲衡級演算法研究員屬於大牛。2019年11月18日AI大牛賈佳亞告別騰訊優圖,創立思謀科技,而後獲得融資。根據相關公開信息顯示,思謀科技的公司,該公司確實已經獲得數千萬人民幣的PreA輪融資。其核心成員,也就是該公司的創始人為賈佳亞、沈小勇,其中,沈氏衫做小勇曾擔任騰訊優圖實驗室高級研究員。AI大牛賈佳亞,2004年加入香港中文大學計算機科學與工程系,從助理教授做起,2010年升任副教授,2015年任教塌慧授,隨後成為香港中文大學終身教授。

『捌』 ACM:參加過ACM的大牛是不是練習時都要把每個演算法敲幾十幾百次呢

ACM比賽可以帶紙質資料,准備一份模板是很有必要的,所以演算法模版很重要,記住模版一定要權威,不要網上雜七雜八的拿來當模版,一份好的模板一定會對你的編程習慣和演算法實現打下良好的基礎。但是,ACM比賽的等級越高,模版的作用就越小,畢竟比賽不是套模板。

沒有人會把每個演算法敲幾百遍,大牛更加不會,敲十遍還記不住的話,一百遍也沒用的,重要的是對演算法本身的理解。如果你真正理解了演算法但寫不出來,那是你編程水平問題,這樣應該多看看大牛的代碼,多看看模板。
大牛不是演算法模板敲的多,而是對演算法理解的深刻並加上做的題目多,演算法就像數學公式,你記住公式難道就能考高分了嗎。重要的是運用啊,一個數學高手對於新學的公式他可以隨時推導出來,因為對公式真正理解啊,推的多了自然記住了,不是嗎。對於新手,先不要學演算法,先去poj做水題,就是簡單的題目沒什麼演算法,水題不要做太多,100題就差不多了。接下來就該系統的學習一下演算法了,《演算法導論》和《演算法藝術與信息學競賽》是我覺得必看的兩本書。另外,歷屆NOI國家隊選手的論文也是很有價值的,也屬於必看。接下來繼續去poj做題,多思考,做不出來就網路,google,poj做題的人非常多。做題可以查漏補缺,之前沒碰到過的 演算法都可能在題目中體現,碰到沒學過的演算法就網路學習,然後選一個好的放到你的演算法模板庫,poj做題1000以上想不成大牛都難!

我只想說大牛基本上都是這么過來的,當然不排除個別天才,不過我沒碰到過也沒聽過誰不做大量的題就能成為牛人的,畢竟天道酬勤。

『玖』 如何成為編程開發技術大牛

首先確定自己的位置:
一、菜鳥
第1 層樓屬於地板層,邁進這層樓的門檻是很低的。基本上懂計算機的基本操作,了解計算
機專業的一些基礎知識,掌握一門基本的編程語言如C/C++,或者Java,或者JavaScript,...,
均可入門邁進這層。
二、大蝦
從第1 層爬到第2 層相對容易一些,以C/C++程序員為例,只要熟練掌握C/C++編程語言,
掌握C 標准庫和常用的各種數據結構演算法,掌握STL 的基本實現和使用方法,掌握多線程編程
基礎知識,掌握一種開發環境,再對各種操作系統的API 都去使用一下,搞網路編程的當然對
socket 編程要好好掌握一下,然後再學習一些面向對象的設計知識和設計模式等,學習一些測
試、軟體工程和質量控制的基本知識,大部分人經過2~3 年的努力,都可以爬到第2 層,晉升
為"大蝦"。
三、牛人
由於"大蝦"們經常被一些疑難問題給卡住,所以有了"大蝦"們只好繼續學習,他們需要將原
來所學的知識進一步熟練掌握,比如以熟練掌握C++編程語言為例,除了學一些基礎性的枯和州C++
書籍如《C++ Primer》,《Effective C++》,《Think in C++》,《Exception C++》等之外,更重要
的是需要了解C++編譯器的原理和實現沒蔽機制,了解操作系統中的內部機制如內存管理、進程和
線程的管理機制,了解處理器的基礎知識和代碼優化的方法,此外還需要更深入地學習更多的數
據結構與演算法,掌握更深入的測試和調試知識以棚灶及質量管理和控制方法,對各種設計方法有更好
的理解等。
學習上面說的這些知識不是一揮而就的,不看個三五十本書並掌握它是做不到的。以數據結
構演算法來說,至少要看個5~10 本這方面的著作;以軟體設計來說,光懂結構化設計、面向對
象設計和一些設計模式是不夠的,還要了解軟體架構設計、交互設計、面向方面的設計、面向使
用的設計、面向數據結構演算法的設計、情感化設計等,否則是很難進到這個樓層的。

主要還是多接觸,多看書,多編碼,多自己動腦子解決問題,多幫助別人,積累經驗

『拾』 演算法不扎實的程序員,每一個都很慌

初學者經常問這樣的問題,然而這些其實是錯誤的問題。

對於初學者而言,你最應該優先考慮的是,哪些東西構成了程序的基礎?

最經典的一句話: 程序 = 數據結構 + 演算法

如果說編程語言是程序的血肉,那麼演算法就是程序的靈魂。

人不能沒有血肉之軀,但是沒有靈魂的人依然只是一個死人。

不能單純依靠演算法衡量一個程序員的好壞,但是面試的時候考演算法絕對是簡單高效的篩選手段。近些年大廠的面試幾乎必考演算法也是這個原因。每一個演算法學的不扎實的程序員,在面試的時候都很慌。

下面這些書籍應該是演算法方面最常見的經典書籍。我有幸都讀過,有些讀完了,有些半途而廢,不過基本上也都算是熟悉。順序上由易到難,從薄到厚,每本書下面我會簡單的介紹一番,希望能對你的學習有所幫助。

首先是兩本演算法入門書籍,也可以當做演算法讀物:

《啊哈!演算法》

用他的自我介紹的來講:「這不過是一本有趣的演算法書而已,和別的演算法書比較,如果硬要說它有什麼特點的話,那就是你能看懂它。」

圖文並茂,而且畫風有趣,適合新手入門,但是代碼是C的,看著比較累,文字也略顯冗長。

圖是非常棒的,啟蒙用,非教科書

《演算法圖解》

和《啊哈》類似,他的介紹是:「像小說一樣有趣的演算法入門書。」

書裡面講的很好,Python代碼也很容易讀懂,比之《啊哈!演算法》,書中的例子沒有那麼有趣,但是圖很清晰,文字和代碼不冗雜。

缺點同樣是非教科書,非常淺顯,三四個小時就看完了。有一種剛剛熱身的感覺。

接下來這幾本都是最常見的書了:

《數據結構與演算法分析C語言描述》

這本書的作者幾乎不浪費筆墨在一些簡單的地方。書很薄,但是覆蓋面很廣很深,作者實在是非常厲害。

不過反過來說,就是有些地方講的語焉不詳……

這本書還有Java語言版本的,但是相比之下C的更好一些。

挺好的一本書。

還有一點是翻譯不是很給力,好多人都沒堅持看完。

《數據結構與演算法Python語言實現》

英文版評分非常高,中文版評分非常低……

據說是也翻譯的不好。另外就是本書自身錯誤也不少……幾版過後依然很多沒有改過來。

書中數學證明和介紹比較簡單。因為採用Python語言的原因,比較易讀。

淺顯易懂,內容上循序漸進,環環相扣。相比於上一本,我會更推薦一些。厚度也不算厚。

《數據結構與演算法 Python語言描述》

北大教授裘宗燕的書,這本書前面寫的挺好的,尤其是在面向對象還有ADT等思想的闡述,都很不錯。

但是讀到後來給我一種虎頭蛇尾的感覺,前面氣勢如虹緒論就寫了很長,最後三章感覺有點草草收尾的意思。就像編輯在催稿,而作者很忙的樣子……

另外就是這本書的編排順序我個人也不是特別喜歡。

接下來是兩本大部頭,都是非常厚的書。

他們最大的特點就是:出現率遠大於看完率

《演算法導論》

演算法書中的權威,MIT的6.046J就是按照這個來講的。

公認最好的演算法書,組織結構合理,內容詳盡。引導讀者從思維方式上對演算法進行領悟。

書中對演算法的數學結構進行了詳盡的闡述。有非常多的數學證明。

這本書我說不出什麼缺點,只能說有些內容是因為我還沒到大牛的境界,暫時還無法體會理解。

我個人的觀點是:不要糾結於詳細的偽代碼,不用糾結於連篇累牘的講解。體會其中演算法的精髓就好。

《演算法》第四版

如果說,《演算法導論》是學術上最好書,那這本應該是實際應用最好的書。

它對數學的要求比《演算法導論》低很多,摒棄了演算法的證明。

書中具體給出了每位程序員應知應會的50個演算法,深入淺出,大量圖解。非常棒。

java基礎的話你能擼出來Hello World基本上就可以開始看這本書了,這本書最大的不友好之處在於它的第一章非常長,沒看過的人又不知道哪裡可以跳過。

這本書後面的翻譯感覺不如前邊了,不知道是換人了還是DDL了……

翻開書就會看到很多的圖,配套作者在coursera上面的課程學的話事半功倍!

接下來的幾本我看的比較少,簡單介紹一下,希望大家自己去發現和了解,不要漏下這些好書:

《編程珠璣》

很薄一本啊,但是我放在那還沒看完……

這本書被稱為: 歷史 上最偉大的計算機科學著作之一

融深邃思想、實戰技術與趣味軼事於一爐的奇書。

內容不深,但是不是一個知識點一個知識點的給你講解演算法原理的。

這本書的核心思想是讓你了解如何正確選擇和高效地實現演算法。書中還有一些趣聞軼事,看著倒是很有意思~

有興趣的同學可以看看~

《演算法競賽入門經典》系列

演算法競賽入門經典書,ACM必備書籍吧算是。書中題目對於競賽來說比較簡單,但是對於一般我們平時工程來說偏難。語言用的是C/C++,請好好做例題好好做作業,讀書的時候好好思考和復習~

反正我是沒讀過,捂臉……

《劍指Offer》

這個書很有意思,對於在校生來說我個人覺得是必看的書。沒有任何工作經驗的同學在面試的時候真的會被問懵的。這本書可以讓你了解如何應付考官日常問題,在解答面試問題的時候,書中很多方法和思路會讓考官覺得你思考的很全面,給你加不少分。

我面試的時候也曾快速掃過一遍這本書,讓我在回答問題的時候條理更清晰。書中代碼是C的,emmm,於是代碼部分我就沒太看……

《用Python解決數據結構與演算法問題》

最後給大家推薦一本在線的 免費 的演算法書。

https://facert.gitbooks.io/python-data-structure-cn/

不是大部頭,也不是讀物,新手入門足夠用,書中介紹了大多數日常需要的演算法,並且講的比較淺顯~轉行的新手基本可以通過這本書來快速掌握常用基本演算法了~

反正免費,是否適合自己看兩頁也就get了~

如果需要PDF版,可以在「程序員必修課」公眾號後台回復:「Python演算法書」獲取。

閱讀全文

與演算法大牛搶手嗎相關的資料

熱點內容
變數作用域是編譯器決定的嗎 瀏覽:755
linux結構分析 瀏覽:812
程序員記錄歷史 瀏覽:798
編譯器怎麼調用構造函數的 瀏覽:95
高質量cpdf 瀏覽:821
福建電信代理伺服器雲主機 瀏覽:616
美圖看看pdf 瀏覽:432
編譯後報錯 瀏覽:291
網路設備怎麼加密 瀏覽:785
hbuilderx文件夾有哪些 瀏覽:102
空調壓縮機生產板塊 瀏覽:612
開源多媒體伺服器都有什麼 瀏覽:392
反編譯了別人的app會被發現嗎 瀏覽:918
上海光裕汽車壓縮機有限公司 瀏覽:333
連接ps4伺服器地址 瀏覽:136
新神魔大陸三星賬號是什麼伺服器 瀏覽:677
壓縮機lj100cy 瀏覽:556
王者系統怎麼轉回安卓系統 瀏覽:749
linux查看路由表命令 瀏覽:506
高手程序員使用什麼筆記本 瀏覽:440