程式設計初級階段,有哪些演算法是必須掌握的?

時間 2021-05-06 00:56:05

1樓:窮碼農

刷LeetCode吧。

刷個四五百題,核心演算法和資料結構,就都掌握得差不多了,面試也不在話下了。

因為我就是這麼學習過來的,還是轉碼學計算機的。

刷完LeetCode是什麼水平,能拿到什麼水平的 offer ?以上。

2樓:naiveman

利益相關,演算法弱渣,常年面試跪在第

一、二輪

建議去看 a discipline of programming。

程式設計初期,最容易胡亂思考,把狀態空間搞得亂七八糟的,幾個變數能搞定的東西,非要各種套路模式各種結構糊上去。反而遠離了最簡單的解法。

隨便乙個問題,它的初始狀態是什麼樣子的?終止狀態是什麼樣子的?

輸入長度為0的時候的答案是怎麼看出來的?

輸入長度為1的時候的答案是怎麼看出來的?

一趟掃過某個陣列時,某個元素會有幾種可能情況?

乙個陣列 arr[n] 有了arr[:n] 或 arr[1:] 或arr[:n/2],arr[n/2:] 的答案的話,能不能得到答案?(對應動歸或分治)

ACM演算法書上的技巧,太高妙了,我是學不來,死記硬背都只能維持半天。終於還是放棄了。

上班瞎雞兒寫的東西,起手式就是一坨這個

for}

改bug去了。

3樓:

得看你走哪個方向了,如果遊戲的話請去github瀏覽文件足矣你真努力了保證你三個月能搞出不錯的demo,走人工智慧的話必須全面研究首先是物理演算法然後二階段演算法,相似比對演算法博弈樹演算法和資料庫,利用它們鏈結神經網路解決客觀問題,這些書請去書店買夠你刷好久了,還有不要自大勤能補拙更不要自卑學習才有創造,既然有興趣希望你能成為對中中國人工智慧事業有貢獻的年輕人。。。

4樓:葉文海

5樓:Pluto Hades

教科書上介紹的基本演算法都應該掌握。

掌握不是說你得會自己重新實現乙個,掌握的重點是,你得知道這種演算法的使用場景是什麼,遇到的實際問題可以套用哪些演算法來實現。

6樓:

沒有什麼必須要掌握的演算法,但是有些演算法比較基礎,我們既容易學習,又很有益處。

比如二分查詢,貪心,分治,動態規劃,快速排序,歸併排序,Dijkstra演算法,KMP演算法。或者再加上一些很有用的資料結構,像棧、佇列、堆、雜湊表、線段樹、樹狀陣列、並查集、平衡樹、字典樹這些。

學習起來的話,每天學乙個應該還是能不困難的,祝您越來越強。

7樓:大齡程式設計師

大部分情況下,不用自己實現演算法,個人寫的再好也不一定有類庫做的好。

但偶爾也會遇到類庫無法完全適用的情況。前一陣就遇到需要實現乙個基於檔案的佇列的情況,Google了好久也沒找到合適的,只好自己做,結果搞到凌晨六點。

所以說,熟悉基本演算法的實現還是有好處的。

當然,對演算法的適用情況要了然於胸,這個對程式設計更有用一些。

8樓:夫禮者

看看我的頭像,每次思考這類問題時哪怕看看這本書的序言就會知道到底該了解什麼了。也能撫平內心的躁動。半路出家入行五年多來,看了不下五十本專業書了,這本兩年前才接觸的書,雖然才看了前兩章。

但毫不耽擱其對鄙人影響第一的位置。至今無書撼動!

9樓:安曉輝

實際工作中,80%的程式設計師的80%的時間裡,不需要了解演算法,只要會看API會用API就行。所以,最重要的是,了解哪個類庫能幹哪些事情。這是剛開始程式設計時最重要的事兒。

當你腦袋裡有一張類庫指南時,就能夠最快找到可以解決問題的類庫的API,然後呼叫它們、組合它們就能解決特定問題。

10樓:

很多人錯誤地理解了程式設計和演算法之間的關係。因為大部分人都是學生,看到的程式設計都是設計過的要求,多數是脫離實際的設計,所以以為演算法是關鍵,尤其ACM這些競賽,又加強了這些感覺。然而真實世界上,尤其是程式設計初級和中級,能接觸到大量或者關鍵演算法的機會是很少的,少到不可思議。

現在的軟體有哪些是用Python語言程式設計的?

大部分軟體都能或多或者找到Python的實現 除了對效能要求極高或者需要作業系統底層的軟體之外 所以我就當這個問題在問有哪些用Python實現的成功的軟體專案好了。舉幾個例子 Scrapy 很多時候寫爬蟲的首選 機器學習庫 比如PyTorch,KerasTornado Django 網路伺服器框架....

梯度下降 是一種怎樣的演算法,實際應用有哪些,有何優缺點?

袁承興 簡單來說,對於函式y f x 梯度下降法是一種尋求函式y的最小值的方法,通過這種方法,可以回答 當x為多少時,y可以達到最小值 知識庫 對於低階 低維的函式,比如中學就接觸到的一元二次函式y ax bx c,我們通過函式影象一般就能掌握函式的特點,包括最大值點 最小值點或不存在頂點。但是對於...

做菜好吃,有哪些基本功是必須會的?

與神明 想要快速學會做菜,最簡單的方法就是先從最簡單的菜做起,比如說炒雞蛋,比如說開水煮肉片,然後兩三天之後,你再接觸一下蔬菜。注意,要嚴重注意的第乙個地方就在於放鹽和放水,這個也是最重要的。所以,想快速學會做菜,無非三個步驟,一,學會掌控放鹽,二,學會放水 有的東西,多了就成湯,有的東西,少了變乾...