數(shù)據(jù)結(jié)構(gòu)

我一直覺得算法工程師,兩把刷子,過硬的算法基礎(chǔ)知識(shí),可靠的代碼工程能力即可;

最近和一些老朋友交流了一下,發(fā)現(xiàn)理想很豐滿,現(xiàn)實(shí)很殘酷,在自己覺得自己會(huì)了點(diǎn)機(jī)器學(xué)習(xí)知識(shí)的時(shí)候,結(jié)果連和別人溝通講自己會(huì)的東西的機(jī)會(huì)都沒有,還沒開始就被卡死在了數(shù)據(jù)結(jié)構(gòu)這一關(guān)上;能想到的,只有時(shí)間或者空間復(fù)雜度最差的那種解法。一言不合就是遍歷,不行就o(n**2),真的是弱雞的不行

所以我覺得,是時(shí)候把大學(xué)做的leetcode撿起來再做一做了,其實(shí)在很早的時(shí)候,我就在GitHub分享過一些我遇到過的數(shù)據(jù)結(jié)構(gòu)的問題,但是當(dāng)時(shí)可能覺得不重要,更新了一段時(shí)間之后就停止了,現(xiàn)在仔細(xì)想想真的是有所失誤,好在一切還不晚。

關(guān)于刷leetcode這事,你可以往三個(gè)方向上走。一是按照從easy到medium到hard的方向。二是按照分類走,比如先刷樹相關(guān)的,再刷數(shù)組相關(guān)的,依次類推。最后一種是我用的就是完全隨機(jī)的取刷;我覺得自己瘋狂刷完dp問題,過了兩周又忘完了這樣就是非常蠢的,做著做著來一題強(qiáng)化一下記憶,這樣才會(huì)記得更清楚。

在語言選擇上,Python的小trick還是有點(diǎn)多的,就比如字符串表達(dá)式的值,我們用eval函數(shù)就可以得到,但是請(qǐng)不要這么去用,這樣非常的投機(jī)取巧,在真的需要去講去面試的時(shí)候,絕對(duì)不可能讓你這么去用的;如果忍不住,就用java或者C。

除了在Leetcode上面刷題外,有兩本書可以給大家參考,一是《劍指offer》,二是《算法導(dǎo)論》,大家可以自行選擇。

最后貼上我現(xiàn)在做題及做題心得的GitHub地址,如果有比較困難理解的地方,我都在代碼里面注釋了,希望能幫到大家,就這樣了。補(bǔ)充一點(diǎn),在README里面我在有些題目下面注釋了一些心得,建議可以優(yōu)先把這些題目看下,我覺得還是很有意思的。

歡迎大家關(guān)注我的個(gè)人bolg,知乎,更多代碼內(nèi)容歡迎follow我的個(gè)人Github,如果有任何算法、代碼、轉(zhuǎn)行疑問都?xì)g迎通過郵箱發(fā)消息給我。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容